gpt4 book ai didi

python - 为什么我的 venv 使用的 pip 版本与我安装的不同

转载 作者:行者123 更新时间:2023-12-03 09:27:29 24 4
gpt4 key购买 nike

我正在设置虚拟环境。我收到有关过时 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)

旧版本来自哪里?

最佳答案

在任何新创建的 venv 中重新安装 Pip。 venv 的默认 pip 版本与 Python 版本相关联,并且完全独立于您可能在系统上安装的任何 pip 版本。旧版本来自 wheel file与标准库捆绑在一起 ensurepip 模块。即使没有可用的 Internet 连接,这也允许用户创建 venv,如 venv docs提到:

Unless the --without-pip option is given, ensurepip will be invoked to bootstrap pip into the virtual environment


您可以通过 ensurepip.version 查看捆绑的 pip 版本。 :
>>> import ensurepip
>>> ensurepip.version()
'19.2.3'
Python 3.8.2 是 vendoring pip 19.2.3 and setuptools 41.2.0 ,与您所看到的相符。
要使用最新的 pip 版本直接创建 venv,而不是使用旧的 pip 创建它们然后升级 pip 版本,请参阅此答案:
How to get “python -m venv” to directly install latest pip version

关于python - 为什么我的 venv 使用的 pip 版本与我安装的不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61553778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com