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

如何配置uWsgi使其使用Python3.11版本运行Web服务

uWSGI切换至Python 3.11操作方案

问题原因

Ubuntu 20.04官方apt源提供的uWSGI在编译阶段就绑定了系统默认自带的Python 3.8,无论重装多少次apt版本的uWSGI,都不会自动关联后续手动安装的Python 3.11。插件编译时出现的distutils弃用报错,是因为Python 3.10及以上版本已将distutils模块拆分至独立安装包,不会随Python主程序默认安装,旧编译脚本找不到对应依赖就会抛出该提示。


前置依赖安装

先安装编译和运行所需的依赖包,解决distutils报错问题:

  • 安装编译工具、Python3.11开发包、pip及distutils组件:
    sudo apt update && sudo apt install -y python3.11-pip python3.11-dev python3.11-distutils build-essential libpcre3-dev libssl-dev
  • 安装setuptools替代distutils的编译支持逻辑:
    sudo python3.11 -m pip install setuptools

注意:如果Flask项目使用虚拟环境,后续所有pip相关操作请先激活对应虚拟环境,避免依赖装到全局环境。


方案一:pip安装绑定Python3.11的uWSGI(推荐,操作最简单)

直接通过Python3.11对应的pip编译安装uWSGI,会自动绑定当前Python版本,不需要单独配置插件:

  1. 先卸载apt安装的旧版uWSGI,避免二进制路径冲突:
    sudo apt remove -y uwsgi uwsgi-core uwsgi-plugin-python3
  2. 执行安装命令:
# 全局安装执行
sudo python3.11 -m pip install uwsgi
# 虚拟环境安装直接执行(不需要sudo)
pip install uwsgi
  1. 验证版本绑定:
    uwsgi --python-version
    命令输出3.11.x即为绑定成功。

注意:安装完成后可执行which uwsgi确认二进制路径,pip全局安装的uWSGI默认路径为/usr/local/bin/uwsgi,要确保服务启动脚本调用的是该路径下的程序。


方案二:保留系统apt版uWSGI,单独编译Python3.11插件

如果必须使用apt安装的uWSGI本体,可单独编译对应版本的Python插件:

  1. 查询当前系统uWSGI的版本和插件目录:
uwsgi --version # 记下来输出版本号,后续下载源码要完全对应
uwsgi --plugins-dir # 一般默认输出为/usr/lib/uwsgi/plugins
  1. 下载和当前版本完全一致的uWSGI官方源码包,解压后进入源码根目录。
  2. 在源码目录下执行编译命令,生成Python3.11插件:
export PYTHON=python3.11
python3.11 uwsgiconfig.py --plugin plugins/python core python311
  1. 将编译生成的python311_plugin.so文件复制到之前查询到的系统插件目录下。
  2. 验证插件加载:
    uwsgi --plugin python311 --python-version
    命令输出3.11.x即为插件编译安装成功。

服务配置调整

安装完成后修改uWSGI服务配置文件(通常为.ini格式):

  • 若使用方案一(pip安装的uWSGI):不需要额外配置插件项,仅需确认配置中虚拟环境路径、Flask项目wsgi入口路径正确即可。
  • 若使用方案二(单独编译插件):需要在配置文件中新增一行plugins = python311,指定启动时加载Python3.11插件。

配置修改完成后重启uWSGI服务,可通过临时接口打印sys.version确认运行时Python版本,之前直接用python3.11启动应用已经验证过依赖正常,只要uWSGI版本绑定正确,服务即可正常运行。


内容的提问来源于stack exchange,提问作者Rapace-bleu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:45:38