Pipenv报错No Python at 'C:\Python39\python.exe' 如何解决
错误原因
- 你使用的2021.5.29版本pipenv存在路径查找逻辑缺陷:它会优先读取Windows系统注册表中记录的Python全局默认安装路径,如果你安装Python时选择了「仅为当前用户安装」,注册表记录的全局路径会是
C:\Python39\这类公共路径,但实际文件安装在当前用户的AppData目录下,就会出现路径不匹配的报错。 - 也可能是之前安装过其他版本Python,卸载时残留的注册表项、旧的pipenv缓存配置记录了错误的Python路径。
修复方案
方案1:单次执行时显式指定Python路径
首次创建对应项目的虚拟环境时,直接传入你实际的Python可执行文件路径即可:
# 替换为你实际的Python路径 pipenv --python C:\Users\{MyUserName}\AppData\Local\Programs\Python\Python39\python.exe # 后续执行安装依赖、进入shell操作都不会再报错 pipenv install <包名> pipenv shell
方案2:配置全局环境变量永久生效
添加系统环境变量指定pipenv默认查找的Python路径,不需要每次手动传入:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 新建用户变量/系统变量,变量名填
PIPENV_PYTHON,变量值填你的Python可执行文件完整路径:C:\Users\{MyUserName}\AppData\Local\Programs\Python\Python39\python.exe - 保存后重启所有终端窗口,再操作pipenv即可正常识别路径。
方案3:升级pipenv到最新版本(推荐治本)
该路径识别bug在后续版本的pipenv中已经修复,直接升级即可解决问题:
pip install --upgrade pipenv
升级完成后删除原有报错的虚拟环境,重新创建即可正常使用。
附加清理操作(可选)
如果执行上述操作后仍然报错,可清理pipenv残留的缓存配置:
# 删除当前项目的旧虚拟环境 pipenv --rm # 清理pipenv全局缓存 pipenv --clear
之后重新创建虚拟环境即可。
内容的提问来源于stack exchange,提问作者akai
相关产品推荐
相关产品推荐

