我正在使用 Windows 7。我有多个 python 虚拟环境。假设我添加venv_1
到系统 PATH。在命令行中,说我激活另一个venv_2
,现在提示行显示
(venv_2) C:\>
但是如果我python
在这里输入,它仍然会在venv_1
.
这是预期的行为吗?
我正在使用 Windows 7。我有多个 python 虚拟环境。假设我添加venv_1
到系统 PATH。在命令行中,说我激活另一个venv_2
,现在提示行显示
(venv_2) C:\>
但是如果我python
在这里输入,它仍然会在venv_1
.
这是预期的行为吗?
这不是预期的行为,但这可能意味着您在设置虚拟环境或激活它时犯了错误。
要确定正在运行什么版本,请尝试运行:
where python
无论结果列表中的顶部项目是什么,都将启动 Python Windows 的副本。如果您是对的并且它确实指向venv_1
,那么 中的设置一定有问题venv_2
。
通过运行set
,您应该能够看到所有环境变量的列表。检查:
PATH=<long list of directory names, it should have the venv_2\Scripts at the start>
和:
_OLD_VIRTUAL_PATH=<the same list, without that entry>
正是这个对路径的简单更改导致 Windows 首先在您的虚拟环境中找到 Python,然后在您添加到全局路径中的另一个虚拟环境中找到 Python。
请注意,添加一个虚拟环境的 Scripts 文件夹可能不是一个好主意,因为您只想在激活相应的虚拟环境并相应设置所有环境变量时使用它。