【发布时间】:2022-08-24 07:30:17
【问题描述】:
每次创建新的 .venv 时,我都会尝试阻止此警告:
> /Users/pi/.pyenv/versions/3.10.0/bin/python -m venv .venv
> . .venv/bin/activate
> pip install ipykernel # or anything
WARNING: You are using pip version 21.2.3; however, version 22.2.2 is available.
You should consider upgrading via the \'/Users/pi/code/foo/.venv/bin/python -m pip install --upgrade pip\' command.
不知何故,pyenv 用过时的点数填充了我的新鲜 .venv。
如果我执行建议的命令,它将升级我的 .venv\'s pip。但我不想每次创建 .venv 时都这样做。
我认为这可能会解决它,但它不会:
> /Users/pi/.pyenv/versions/3.10.0/bin/python -m pip install --upgrade pip
Requirement already satisfied: pip in /Users/pi/.pyenv/versions/3.10.0/lib/python3.10/site-packages (22.2.1)
Collecting pip
Using cached pip-22.2.2-py3-none-any.whl (2.0 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 22.2.1
Uninstalling pip-22.2.1:
Successfully uninstalled pip-22.2.1
Successfully installed pip-22.2.2
当我执行上述命令时实际发生了什么?我期待它更新由 pyenv 创建/维护的 python 版本的 pip。它似乎在做什么:
???? pi@pPro18-4 ~/.pyenv/versions/3.10.0
> find . -name \'pip*\'
./bin/pip3
./bin/pip
./bin/pip3.10
./lib/python3.10/site-packages/pip
./lib/python3.10/site-packages/pip-22.2.2.dist-info
???? pi@pPro18-4 ~/.pyenv/versions/3.10.0
> ./bin/pip --version
pip 22.2.2 from /Users/pi/.pyenv/versions/3.10.0/lib/python3.10/site-packages/pip (python 3.10)
那么为什么当我创建它时这个 pip 没有被复制到我的 .venv 中呢?
我认为这就是 .venv 创建的工作方式。
如何清理我的 pyenv Python 安装以生成最新的 .venvs?
-
一旦设置了venv,为什么不简单地升级pip?我假设 pip 安装在与该特定版本耦合的任何版本中
-
这就是我目前所做的。但我创建了很多 .venv-s。更新参考点将是更清洁的做法。我只是不知道该怎么做。
标签: pip python-venv pyenv pyenv-virtualenv