在Azure上部署首个Django应用时遇到Python版本匹配问题
解决Azure部署Django应用时的Python版本匹配错误
问题概述
部署首个Django应用到Azure时,无论尝试指定哪个Python版本(3.11.3、3.9.18、3.10.1),均收到ERROR: No matching distribution found for Python==X.X.X的对应版本错误。已尝试过的操作包括:
- 通过GitHub Actions的
actions/setup-python@v3指定应用基础版本3.11.3 - 根据Action日志显示的Python路径修改
requirements.txt匹配3.9.18 - 使用本地已安装的3.10.1版本尝试部署
解决方案
1. 移除requirements.txt中的Python版本声明
pip无法直接安装Python解释器本身,若你的requirements.txt中存在类似Python==3.9.18或python==3.11.3的行,立即删除。Python版本应通过部署环境配置指定,而非依赖文件。
2. 对齐GitHub Actions与Azure的Python版本
- 升级
actions/setup-python到v4版本(v3对部分新版本Python支持有限),明确指定Azure支持的Python版本:- name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.11.3' - 登录Azure门户,进入你的App Service,在「配置」>「常规设置」中,将Python运行时版本设置为与Actions中一致的
3.11,确保两端环境版本匹配。
3. 清理缓存避免依赖残留
在GitHub Actions的依赖安装步骤前添加缓存清理操作,防止旧版本依赖干扰:
- name: Clear pip cache run: pip cache purge - name: Install dependencies run: pip install -r requirements.txt
4. 确认Azure App Service运行时栈
确保你创建的App Service选择的是Python运行时栈,而非自定义容器或其他类型。若使用自定义容器,需确保容器镜像内已正确安装指定版本的Python。
内容的提问来源于stack exchange,提问作者Swantewit
相关产品推荐
相关产品推荐

