我正在设置虚拟环境。我收到关于过时的pip(19.2)的警告,所以我在我的(macos)系统上全局更新了pip,sudo -H python3 -m pip install --upgrade pip
。它似乎起了作用,但当我制作一个新的venv时,我仍然得到旧的pip版本
% pip --version
pip 20.1 from /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip (python 3.8)
% python3 -m pip --version
pip 20.1 from /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip (python 3.8)
% rm -rf .venv # make sure
% python3 -m venv .venv
% . .venv/bin/activate
(.venv) % python3 -m pip --version
pip 19.2.3 from /Users/marvin/.venv/lib/python3.8/site-packages/pip (python 3.8)
(.venv) % pip --version
pip 19.2.3 from /Users/marvin/.venv/lib/python3.8/site-packages/pip (python 3.8)
旧版本从何而来
Pip将重新安装在任何新创建的venv中。venv的默认pip版本与Python版本相关联,并且完全独立于您在系统上安装的任何pip版本。旧版本来自与stdlib^{} 模块捆绑的wheel file。这允许用户在没有可用internet连接的情况下创建venv,如^{} docs 所述:
您可以使用^{} 检查捆绑的pip版本:
Python3.8是currently vendoring pip 19.2.3 and setuptools 41.2.0,与您看到的内容相匹配
要直接使用最新的pip版本创建VENV,而不是使用较旧的pip创建VENV,然后升级pip版本,请参考以下答案:
How to get “python -m venv” to directly install latest pip version
相关问题 更多 >
编程相关推荐