更改 virtualenv 文件夹名称后无法执行 pip

Cannot execute pip after changing virtualenv folder name

所以之前我将我的虚拟环境命名为“测试”。之后,我将其更改为“testt”,之后我无法再访问 pip 命令,它给了我以下错误:

Fatal error in launcher: Unable to create process using '"C:\coding\test\test\Scripts\python.exe"  "C:\coding\test\testt\Scripts\pip.exe" ': The system cannot find the file specified.

我该如何解决这个问题?

永远不要重命名虚拟 Python 环境。创建虚拟环境时,路径在几个地方被硬编码(例如参见 [​​=10=] 脚本)。

可以尝试替换所有文件中的硬编码路径,但我不确定它的效果如何以及它是否会在 (Python/venv) 个版本之间发生变化.

最好的办法就是删除旧的虚拟环境并创建一个新的。

如果您使用的是 requirements.txt 文件,这很简单:

  1. py -3.10 -m venv new_env
  2. new_env\Scripts\python.exe -m pip install -r requirements.txt

(示例命令适用于 Windows 和 Python 3.10,但与 Linux and/or 其他 Python 版本类似)

如果您没有使用 requirements.txt 文件,您可以 运行 pip freeze 在删除旧的虚拟环境之前查看您安装了哪些模块。

旁注:此方法的优点是您实际上是在验证您的环境是否已妥善记录(即 requirements.txt 是 up-to-date)并且您可以重现它。这也将使将来(例如在另一台计算机上)重复此过程变得更加容易。