首页 > 解决方案 > 在虚拟环境中运行 Python 时忽略 PATH

问题描述

我有一个问题,我的虚拟环境将其 /Scripts 文件夹放在我的PATH的开头,但是在命令提示符下执行“ python ”时,我实际上并没有执行路径遇到的第一个 python.exe .

我的虚拟环境已激活,并且我的路径确实显示了 venv 的 /Script 文件夹的正确路径。

C:\Users\me> b:
B:\> cd b:\my\venv\Scripts
B:\my\venv\Scripts> path
PATH=C:\Python36\Scripts;C:\Python36;C:\others\here
B:\my\venv\Scripts> activate
(venv) B:\my\venv\Scripts> cd B:\my\django\site
(venv) B:\my\django\site> path
PATH=B:\my\venv\Scripts;C:\Python36\Scripts;C:\Python36;C:\others\here
(venv) B:\my\django\site> python

Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64
bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license"
for more information.
>>>import sys
>>>print(sys.executable)
C:\Python36

现在,如果我在 venv 的 Scripts 文件夹中时调用python ,它会使用其中的 python 可执行文件。但是一旦我离开,它似乎忽略了 venv 的 Scripts 文件夹位于 PATH 前面的事实。

也许我误解了 PATH 的工作原理?我的期望是在所有这些路径中找到的第一个 python.exe,从左到右,将是使用的 python.exe。我现在有这个想法,当我输入这个时:

也许 PATH 无法处理其中引用的多个驱动器?

任何指向正确方向的指针将不胜感激!谢谢大家!

标签: pythonpathvirtualenvpython-venv

解决方案


推荐阅读