无法加载mod_wsgi: 找不到符号: __Py_FalseStruct
我在我的Mac(山狮系统)上尝试安装mod_wsgi(3.4版本),我按照这里的所有说明进行了操作:http://code.google.com/p/modwsgi/wiki/InstallationInstructions,但是由于以下错误,我无法加载这个模块:
httpd: Syntax error on line 119 of /private/etc/apache2/httpd.conf: Cannot load /usr/libexec/apache2/mod_wsgi.so into server: dlopen(/usr/libexec/apache2/mod_wsgi.so, 10): Symbol not found: __Py_FalseStruct\n Referenced from: /usr/libexec/apache2/mod_wsgi.so\n Expected in: flat namespace\n in /usr/libexec/apache2/mod_wsgi.so
上面的消息是通过测试Apache模块时显示的,命令是:
apachectl -M
我有Mac自带的默认Python(2.7),还有最新手动安装的3.3版本,使用的是专用的dmg文件。当我运行./configure
时,我尝试指定这两个版本,并添加了--disable-framework
这个选项(老实说,我不知道这个选项具体是干什么的,但我在其他讨论中看到有人提到过)。
我现在卡住了……我该怎么办?
更新:
我通过运行以下命令配置了mod_wsgi(使用默认的Python 2.7):
make distclean
./configure
make
sudo make install
不过,我还是想使用Python 3.3,并且想解决我上面提到的错误。
1 个回答
5
mod_wsgi
的安装如果你对相关的东西不太了解,那真是个麻烦事。根据我的猜测,这可能和共享的 Python 库有关。可以建议你使用 Homebrew 包管理器 吗?
安装 Homebrew 其实挺简单的,但安装 mod_wsgi 就没那么容易了。
brew tap homebrew/apache
brew install mod_wsgi
安装完成后,按照说明进行操作。你需要更改 mod_wsgi 安装的目录。
不过要提醒一下,使用 Homebrew 时,你需要确保你的 XCode 是最新版本,或者至少要安装 Xcode 的命令行工具。不过 Homebrew 真的很不错。