我有一个用来与Apache2的python3.5运行的烧瓶中的应用。我现在想改变它的运行3.6(我在我的代码宋类型暗示只支持3.6)。 我已经安装了python3.6的模块,而是试图重新启动Apache和运行我的应用程序时,它失败。 在运行时
mod_wsgi-express module-location
我有python3.5版本
/usr/local/lib/python3.5/dist-packages/mod_wsgi/server/mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so
同样的文件还existis我在python3.6目录服务器上。 我也改变了我的$ PATH运行python3.6为蟒蛇默认。 我怎么能告诉Apache上运行python3.6而不是3.5?
WOHA!它的工作!
我卸载的mod_wsgi(sudo apt get remove libapache2-mod-wsgi
)。然后,通过安装PIP模块具体地python3.6(python3.6 -m pip install mod_wsgi
),但在这一点上仍阿帕奇跑python3.5。
我加入到(该文件位于在ubunutu 16.4:/etc/apache2/apache2.conf
和/usr/local/lib64/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
为RHEL / CentOS的7)的apache的配置文件中的如下:
LoadModule wsgi_module "/usr/local/lib/python3.6/dist-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
和
WSGIPythonHome "/usr"
而做的伎俩。
我weeped很多的眼泪在这个问题上,找到apache2.conf
文件等,所以希望这将有助于任何人。
该LoadModule
解决方案为我工作。然而,我发现最容易首先确保a2dismod wsgi
由默认的Apache2模块提供。我了3天寻找不同的解决方案和答案,并检讨格雷厄姆的WSGI指南。