You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Apache2上Flask应用的mod_wsgi从Python3.5切换到3.6?

解决Apache下mod_wsgi切换到Python3.6的问题

别担心,修改$PATH对Apache里的mod_wsgi完全没用——因为mod_wsgi是编译时就绑定了特定Python版本的,它不会读取系统环境变量来选择Python。你已经装了Python3.6对应的mod_wsgi,接下来要做的是让Apache加载这个新模块,而不是旧的Python3.5版本的mod_wsgi。

按以下步骤操作:

1. 确认Python3.6版mod_wsgi的模块路径

打开终端,用Python3.6的mod_wsgi-express工具生成正确的Apache模块配置命令。如果你的Python3.6安装在/usr/local/python3.6,就运行:

/usr/local/python3.6/bin/mod_wsgi-express module-config

这个命令会输出类似这样的内容:

LoadModule wsgi_module "/usr/local/python3.6/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.so"
WSGIPythonHome "/usr/local/python3.6"

把这两行记下来,这就是让Apache用Python3.6的关键配置。

2. 修改Apache的主配置文件

找到Apache的主配置文件(通常是/etc/apache2/apache2.conf或者/etc/httpd/httpd.conf),或者专门的mod_wsgi配置文件(比如/etc/apache2/mods-available/wsgi.conf):

  • 先找到原来加载mod_wsgi的行,比如LoadModule wsgi_module modules/mod_wsgi.so,把它注释掉(加个#开头)。
  • 把刚才mod_wsgi-express输出的两行粘贴进去。

3. 检查你的Flask应用的.wsgi文件

打开你的应用对应的.wsgi文件,确保里面没有硬编码Python3.5的路径。比如,不要有类似这样的代码:

import sys
sys.path.insert(0, '/usr/lib/python3.5/site-packages')

如果有,把路径改成Python3.6的对应目录(比如/usr/local/python3.6/lib/python3.6/site-packages)。

4. 重启Apache并验证

重启Apache服务:

# Debian/Ubuntu系统
sudo systemctl restart apache2

# CentOS/RHEL系统
sudo systemctl restart httpd

然后,你可以写一个简单的测试.wsgi文件来验证Python版本:

import sys
def application(environ, start_response):
    status = '200 OK'
    output = sys.version.encode('utf-8')
    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)
    return [output]

把这个文件配置到Apache里访问,就能看到当前使用的Python版本是不是3.6了。

常见坑点

  • 如果之前用系统包管理器(比如apt或yum)装过mod_wsgi,先禁用旧模块:sudo a2dismod wsgi(Debian/Ubuntu),避免和新模块冲突。
  • 确保你安装mod_wsgi的时候是用Python3.6的pip安装的:/usr/local/python3.6/bin/pip install mod_wsgi,这样才会绑定到3.6。

内容的提问来源于stack exchange,提问作者Nyta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:12:05