无法加载mod_wsgi: 找不到符号: __Py_FalseStruct

2 投票
1 回答
1782 浏览
提问于 2025-04-17 13:15

我在我的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 真的很不错。

撰写回答