将 mod_wsgi 从 python3.5 更改为 3.6
Change mod_wsgi from python3.5 to 3.6
我有一个 flask 应用程序,它曾经在 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
我的服务器上的 python3.6 目录中也存在相同的文件。
我还将我的 $PATH 更改为 运行 python3.6 作为 python 的默认设置。
如何告诉 apache 在 python3.6 而不是 3.5 上 运行?
哇哈!有效!
我卸载了 mod_wsgi (sudo apt get remove libapache2-mod-wsgi
)。
然后,通过 pip 将模块专门安装到 python3.6 (python3.6 -m pip install mod_wsgi
),但此时 apache 仍然 运行 python3.5.
I添加到 apache 配置文件(在 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
for RHEL/CentOS 7)以下内容:
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"
成功了。
我为这个问题流下了很多眼泪,找到 apache2.conf
文件等,希望这对任何人都有帮助。
LoadModule
解决方案对我有用。但是,我发现首先确保最简单
a2dismod wsgi
由默认的 apache2 模块提供。我花了 3 天时间查看各种解决方案和答案,并回顾了 Graham 的 WSGI 指南。
我在我的案例中所做的是从 Django env 中删除 python 3.6 并重新安装 python 3.5 并且它起作用了。
我有一个 flask 应用程序,它曾经在 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
我的服务器上的 python3.6 目录中也存在相同的文件。
我还将我的 $PATH 更改为 运行 python3.6 作为 python 的默认设置。
如何告诉 apache 在 python3.6 而不是 3.5 上 运行?
哇哈!有效!
我卸载了 mod_wsgi (sudo apt get remove libapache2-mod-wsgi
)。
然后,通过 pip 将模块专门安装到 python3.6 (python3.6 -m pip install mod_wsgi
),但此时 apache 仍然 运行 python3.5.
I添加到 apache 配置文件(在 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
for RHEL/CentOS 7)以下内容:
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"
成功了。
我为这个问题流下了很多眼泪,找到 apache2.conf
文件等,希望这对任何人都有帮助。
LoadModule
解决方案对我有用。但是,我发现首先确保最简单
a2dismod wsgi
由默认的 apache2 模块提供。我花了 3 天时间查看各种解决方案和答案,并回顾了 Graham 的 WSGI 指南。
我在我的案例中所做的是从 Django env 中删除 python 3.6 并重新安装 python 3.5 并且它起作用了。