设置 python 3.7 虚拟环境时出现问题

Problems setting up a python 3.7 virtual environment

我正在尝试在我的本地计算机上创建一个新的 python 3.7 虚拟环境 运行 Windows 8. 我有 python 版本 3.6、3.7 和 3.8安装。它们的 exe 文件分别命名为 python36、python37 和 python。所有三个都正确添加到 PATH 因为我可以输入每个解释器。

在我的新项目目录中,我尝试使用 python37 -m venv env 创建一个虚拟环境。它产生了一个错误:Error: [WinError 2] The system cannot find the file specified,但它仍然创建了目录。但是 Scripts 子文件夹是空的,除了 pythonw.exe.

this question 中有人建议做 python37 -m venv env --without-pip。当我尝试这样做时,创建了 activation/deactivation 脚本,但虚拟环境使用的是 python 3.8.

据我了解,venv 将使用您用来调用它的任何 python exe 创建虚拟环境,所以我不明白这是怎么发生的。我验证了 python37 指向正确的地方 where python37,甚至可以进入 3.7 交互式解释器。

首先在任何驱动器上创建文件夹,然后转到该文件夹​​并使用 pip 安装 virtualenv 包。

pip install virtualenv

然后创建您的虚拟环境。

mkvirtualenv myvirtualenv

然后使用下面的命令在 windows.

中激活 virtualenv
myvirtualenv\Scripts\activate

之后就可以在当前虚拟环境中安装相关包了。

The Python Standard Library for Creating Virtual Environment

问题是我重命名了 python exe。我不知道到底出了什么问题,但大概在某个时候 venv 试图找到 python.exe 并被名字抛弃了。

将它们改回 python.exe 并根据位置区分版本解决了问题。

编辑: 查看 Eryk 的评论了解更多详情。