Windows运行pipenv run pytest提示Pipfile要求Python3.7但版本为unknown
排查解决方向
1. 验证本地Python 3.7的可访问性
- 打开命令提示符执行
py -3.7 --version,如果无法正常返回Python 3.7.0的结果,说明Python 3.7未被系统 launcher 正确识别,建议重新安装Python 3.7,安装时务必勾选「Add Python to PATH」和「Install for all users」选项 - 执行
where python查看当前环境所有Python解释器的优先级,检查是否存在报错中提到的C:\Users\d.\v\S\python.exe无效路径,若存在则到系统环境变量PATH中删除对应条目后重启终端重试
2. 重建虚拟环境时显式指定Python版本
你之前执行的重建命令未指定Python版本,pipenv会默认沿用之前识别异常的解释器,按如下流程操作:
- 先清理残留虚拟环境:
pipenv --rm - 进入项目Pipfile所在根目录,执行指定版本的安装命令:
pipenv install --python 3.7 - 安装完成后执行
pipenv run python --version确认版本正常返回3.7.x,再运行pipenv run pytest测试
3. 校验Pipfile配置
打开项目根目录的Pipfile,确认[requires]块配置正确,无拼写错误:
[requires] python_version = "3.7"
不要误写为python_full_version等其他参数。
4. 升级pipenv到最新稳定版
部分旧版本pipenv在Windows环境下存在Python版本识别bug,执行如下命令升级后重试:pip install --upgrade pipenv
5. 手动指定解释器路径(备选方案)
如果以上操作均无效,可直接指定本地Python 3.7的绝对路径创建虚拟环境,例如你的Python 3.7安装路径为C:\Program Files\Python37\python.exe,则执行:pipenv install --python "C:\Program Files\Python37\python.exe"
内容的提问来源于stack exchange,提问作者user9847788
相关产品推荐
相关产品推荐

