【发布时间】:2015-07-15 15:40:04
【问题描述】:
我想安装 mod_wsgi-4.4.11 以便我可以使用 Django 和 apache 进行本地 Web 开发,但我没有成功。这些是我在尝试安装 mod_wsgi-4.4.11 时采取的步骤/命令。我使用的是苹果系统的python版本。我根据 code.google.com/p/modwsgi/wiki/QuickInstallationGuide 的快速说明下载了 mod_wsgi-4.4.11。使用的步骤/命令如下:
1) 将 mod_wsgi 下载为 zip,cd 到文件夹 2)./configure 3) make 4) sudo make install 4) 添加行 LoadModule wsgi_module /usr/libexec/apache2/mod_wsgi.so 到 http.conf文件,停止并启动 apache 服务器 5) httpd -t.
我收到以下错误。
/private/etc/apache2/httpd.conf 第 172 行的语法错误:无法将 /usr/libexec/apache2/mod_wsgi.so 加载到服务器中:dlopen(/usr/libexec/apache2/mod_wsgi.so, 10) : Symbol not found: _PyBool_Type\n 引用自:/usr/libexec/apache2/mod_wsgi.so\n 预期在:flat namespace\n in /usr/libexec/apache2/mod_wsgi.so
我 cd 到 /usr/libexec/apache2 并运行 otool -L mod_wsgi.so 并且输出是:
mod_wsgi.so: /usr/lib/libSystem.B.dylib(兼容版本 1.0.0,当前版本 1213.0.0) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation(兼容版本150.0.0,当前版本1153.18.0) Daniels-MacBook-Pro:apache2 Daniel$
运行配置时的生成文件:
LDFLAGS = LDFLAGS = -L/Library/Frameworks/Python.framework/Versions/2.7/lib -L/Library/Frameworks/
LDLIBS = -lpython2.7 -ldl -framework CoreFoundation
有人建议我用pip安装mod_wsgi。我按照https://pypi.python.org/pypi/mod_wsgi/4.4.11 的说明进行操作。我采取的命令/行动如下: 1) 升级点到 6.1.1 2)pip install mod_wsgi(安装成功) 3) 运行 mod_wsgi-express 启动服务器 4) 收到错误:ValueError: unknown locale: UTF-8
当我运行 locale 命令时,LANG 变量被分配给任何东西,它看起来像这样: 朗 =
【问题讨论】:
-
您使用的是 Apple 系统 Python 版本还是来自 brew 或其他包系统的版本?您使用的是什么版本的 mod_wsgi?您是否从以前从未编译过的新 mod_wsgi 源代码开始?您使用了哪些实际命令来编译/安装 mod_wsgi?
-
我使用的是苹果系统python版本。我根据code.google.com/p/modwsgi/wiki/QuickInstallationGuide 的快速说明下载并尝试安装 mod_wsgi-4.4.11。使用的步骤/命令如下:将 mod_wsgi 作为 zip 下载,cd 到文件夹,运行 ./configure,make,sudo make install,将 LoadModule wsgi_module /usr/libexec/apache2/mod_wsgi.so 行添加到 http .conf 文件,停止并重新启动 apache 服务器,运行 httpd -t ....感谢您提供的任何帮助。
-
修改你的问题并添加运行
otool -L /usr/libexec/apache2/mod_wsgi.so的输出。 -
要单独验证它是否应该工作,你也可以试试mod_wsgi的'pip'可安装版本。这不会触及您的系统 Apache。见pypi.python.org/pypi/mod_wsgi
-
谢谢,我修改了这个问题。我会按照你的建议尝试 pip。
标签: python apache mod-wsgi httpd.conf