我对虚拟 Python 环境如何工作感到困惑(Python 3.6,使用venv
)。我设置了 venv,并在命令行中激活它。我希望从那时起我所做的一切都使用虚拟环境中的 python 和 pip 命令(因为这些目录在激活时会添加到 PATH 中)。
问题是,当我跑步时pip --version
in my venv
,它返回pip 10.0.1
。但是当我尝试升级它时python -m pip install --upgrade pip
, I get Requirement already up-to-date
(venv) PS C:\Python\files\myproj> pip --version
> pip 10.0.1 from c:\python\files\myproj\venv\lib\site-packages\pip-10.0.1-py3.6.egg\pip (python 3.6)
(venv) PS C:\Python\files\myproj> python -m pip install --upgrade pip
> Requirement already up-to-date: pip in c:\python\files\myproj\venv\lib\site-packages (18.0)
发生什么了?为什么命令行命令的目标不同pip
as python
是?以及如何补救?
pip
仍然指向全局,即使在 venv 中也是如此。python
但是,不会并使用 venv。
这意味着当你跑步时pip --version
,您将获得全球 pip 版本。当你跑步时python -m pip install --upgrade pip
,您正在使用 python 的 venv 版本,它显然已经具有最新的 pip。要确认这一点,您可以运行python -m pip --version
你应该得到最新版本作为输出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)