我在Windows上通过pip install mod_wsgi
成功安装了mod_wsgi。但是,当我将mod_wsgi-express module-config
的输出复制到我的httpd.conf并尝试启动httpd时,我收到以下错误:
httpd.exe: Syntax error on line 185 of C:/path/to/httpd.conf: Cannot load c:/path/to/venv/Lib/site-packages/mod_wsgi/server/mod_wsgi.pyd into server
这是在更正module-config
的粘贴输出后,因为它是.../venv/lib/site-packages/mod_wsgi/server/mod_wsgiNone
(请注意“无”)。我将“无”更改为“.pyd”,因为这是正确的路径。
我已经尝试在虚拟环境之外安装它(Python在C:\ Python27),但它没有什么区别 - >同样的错误。
我还尝试卸载/重新安装mod_wsgi。我有一个安装失败,因为Microsoft Visual C ++编译器for Python 2.7(版本9.0.0.30729)不存在。安装完成后,mod_wsgi总是安装好。
apache(Apache / 2.4.27(Win32))来自xampp软件包,当我删除wsgi的添加行时启动没有问题。
由于第三方模块,我需要使用Python 2.7。因此,目前不太可能选择3.x。
精确的Python版本是2.7.13(32位)。
为完整起见,module-config
的输出为:
LoadModule wsgi_module "c:/www/my_project/venv/lib/site-packages/mod_wsgi/server/mod_wsgiNone"
WSGIPythonHome "c:/www/my_project/venv"
更新:又尝试了一件事:
set "MOD_WSGI_APACHE_ROOTDIR=C:/WWW/apache"
pip install mod_wsgi
仍然是同样的错误......
答案 0 :(得分:0)
问题在于Apache是用VC14构建的,但Python 2.7自然是用VC9构建的。安装用VC9构建的Apache解决了我的问题。