如何将Azure App Service的Python版本从3.9.7升级至3.9.12?
在Azure App Service中手动升级Python到3.9.12
核心说明
Azure App Service Linux容器的系统级Python为预安装版本,直接修改会破坏容器稳定性,因此需在用户独立目录编译安装Python 3.9.12,再配置应用指向该版本。
具体操作步骤
1. 安装编译依赖
先安装编译Python所需的系统库:
sudo apt-get update && sudo apt-get install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
2. 下载Python 3.9.12源码
cd /tmp wget https://www.python.org/ftp/python/3.9.12/Python-3.9.12.tgz tar -xf Python-3.9.12.tgz cd Python-3.9.12
3. 编译并安装到用户目录
指定安装路径为$HOME/python3912(避免干扰系统Python),启用编译优化:
./configure --prefix=$HOME/python3912 --enable-optimizations --enable-shared make -j$(nproc) make install
4. 配置环境变量
将新Python版本加入环境变量,编辑~/.bashrc文件:
echo 'export PATH="$HOME/python3912/bin:$PATH"' >> ~/.bashrc echo 'export LD_LIBRARY_PATH="$HOME/python3912/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc
使配置立即生效:
source ~/.bashrc
5. 验证安装结果
执行命令确认版本:
python3 --version
输出Python 3.9.12即为安装成功。
6. 配置App Service使用新Python版本
在App Service的配置>常规设置中,将启动命令修改为:
$HOME/python3912/bin/gunicorn --bind=0.0.0.0 --timeout 600 <你的应用入口>:app
将<你的应用入口>替换为实际的应用启动文件(如wsgi或app)。
注意事项
- 禁止修改系统级Python,否则可能导致容器异常。
- 容器重启后环境变量会自动加载,但重新部署时需重新执行上述步骤,或把编译脚本整合到部署流程中。
内容的提问来源于stack exchange,提问作者Sticky
相关产品推荐
相关产品推荐

