【发布时间】:2019-02-26 14:39:01
【问题描述】:
我对虚拟 Python 环境的工作方式感到困惑(Python 3.6,使用 venv)。我设置了我的 venv,并在命令行中激活了它。我希望从那时起我所做的一切都使用虚拟环境中的 python 和 pip 命令(因为这些目录在激活时被添加到 PATH 中)。
问题是,当我在 venv 中运行 pip --version 时,它会返回 pip 10.0.1。但是当我尝试用python -m pip install --upgrade pip 升级它时,我得到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 与 python 不同?以及如何解决这个问题?
【问题讨论】:
-
您的
pip命令指向了与您的venv 中的版本不同的其他pip 版本。python -m pip使用您的 venv 中的版本。 -
那么当处于活动状态的
venv中时,pip 版本是全局版本吗?而且只有全局的python换成了venv的python? -
您的 PATH 变量似乎没有正确设置。
-
你能扩展一下吗?
-
pip
10.0.1应该被update卸载了,pip list,pip uninstall pip 10.0.1在youe venv 中怎么样,再更新
标签: python pip python-venv