如何将gunicorn3的运行环境从Python3.6升级为Python3.8?
Ubuntu 18.04 配置 Gunicorn 运行 Python3.8 应用可行方案
Ubuntu 18.04 官方apt源安装的gunicorn3默认强绑定系统自带的Python3.6,直接修改其调用解释器很容易破坏系统依赖,最稳定的实现方式是基于Python3.8环境独立安装对应版本的Gunicorn,全程不需要改动系统原有配置。
步骤1:安装Python3.8及配套依赖
Ubuntu 18.04默认源不提供Python3.8包,通过deadsnakes源安装即可:
sudo apt update sudo apt install software-properties-common -y sudo add-apt-repository ppa:deadsnakes/ppa -y sudo apt update sudo apt install python3.8 python3.8-dev python3.8-distutils python3.8-venv -y
安装完成后执行python3.8 --version,能正常输出版本号即代表安装成功。
步骤2:创建Python3.8独立虚拟环境(强烈推荐)
不要直接在全局环境装包,避免多项目依赖冲突,进入你的项目根目录执行:
cd /path/to/your/application python3.8 -m venv venv # 激活虚拟环境 source venv/bin/activate
激活后命令行前缀会出现(venv)标识,此时所有python、pip调用默认指向Python3.8。
步骤3:在虚拟环境内安装Gunicorn和项目依赖
保持虚拟环境激活状态,执行以下命令:
# 升级pip到最新版本 pip install --upgrade pip # 安装绑定Python3.8的Gunicorn pip install gunicorn # 安装项目自身的依赖,比如Flask、Django等 pip install -r requirements.txt
安装完成后可以执行which gunicorn验证,输出路径应该在项目的venv/bin目录下,和系统原来的/usr/bin/gunicorn3完全隔离。
步骤4:调整自启服务配置(如有)
如果你之前为gunicorn3配置了systemd自启,只需要修改服务文件里的启动路径即可,参考配置如下(文件路径通常为/etc/systemd/system/your_app.service):
[Unit] Description=Python3.8 application Gunicorn service After=network.target [Service] User=你的服务器登录用户名 Group=www-data WorkingDirectory=/path/to/your/application ExecStart=/path/to/your/application/venv/bin/gunicorn --workers 3 --bind unix:app.sock 项目入口wsgi路径 Restart=always [Install] WantedBy=multi-user.target
修改完成后执行以下命令重载生效:
sudo systemctl daemon-reload sudo systemctl restart your_app # 检查运行状态 sudo systemctl status your_app
关键注意事项
- 不要修改Ubuntu 18.04系统默认的
python3软链接指向,系统内置的apt、网络配置等大量核心组件强依赖Python3.6,改动后会直接导致系统功能故障- 不要卸载系统原有apt安装的
gunicorn3,避免触发系统包依赖异常,两套Gunicorn路径完全隔离不会互相影响- 配置完成后可以执行
venv/bin/gunicorn --version验证,输出信息会明确标注绑定的Python版本,确认是3.8.x即代表配置正确
内容的提问来源于stack exchange,提问作者haces
相关产品推荐
相关产品推荐

