重命名virtualenv虚拟环境文件夹后无法执行pip命令如何解决
问题根因
virtualenv 生成的pip等可执行启动器里,硬编码了虚拟环境创建时写入的Python解释器绝对路径。你直接手动重命名虚拟环境文件夹后,这些写死的路径不会自动更新,启动pip时还在找原路径下的python.exe,路径不存在就会抛出你贴出的错误。
修复方案
选任意一种方法操作即可:
- 方法1:重装pip刷新启动器(最快)
进入重命名后的虚拟环境的Scripts目录,激活虚拟环境后执行以下命令,强制重装pip会自动把启动器里的硬编码路径更新为当前正确路径:
命令执行完成后,直接调用python -m pip install --upgrade --force-reinstall pippip就可以正常使用。 - 方法2:用virtualenv命令批量修复路径
在重命名后的虚拟环境根目录下(也就是你现在的testt文件夹路径下)执行以下命令,virtualenv会自动扫描更新所有脚本里硬编码的旧路径,不止pip,虚拟环境内所有安装的命令行工具都会被一并修复:virtualenv . - 方法3:重建虚拟环境
如果上述方法执行有问题,可以导出当前虚拟环境的依赖清单后,删除重命名后的文件夹,重新创建命名正确的虚拟环境,再装回依赖即可。
注意事项
日常使用不要直接手动修改virtualenv虚拟环境的文件夹名或移动存储位置,如果确实需要调整路径,调整完成后必须执行上述路径修复操作,否则虚拟环境内所有命令行工具都会因为路径不匹配无法启动。
内容的提问来源于stack exchange,提问作者Melly
相关产品推荐
相关产品推荐

