`pip install -U pip -rrequirements.txt` 是否在安装需求之前升级 pip?

Int*_*rer 1 python pip requirements.txt python-venv

使用以下某些变体来设置 Python 虚拟环境似乎是常见的做法:

python -m venv venv && source ./venv/bin/activate
python -m pip install -U pip -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

我希望上述命令的作用是:

  1. 升级pip
  2. 运行软件包的安装requirements.txt

然而,实际发生的情况似乎是:

  1. 收集所有包,包括最新版本pip
  2. 将它们全部安装在一起
    • 原始/过时版本pip是实际运行安装的版本
    • 并且直到执行此命令之后pip使用新版本

问题)

  1. 是否可以通过一个命令让 pip 自行升级,然后安装需求文件?
    • 这会带来什么特别的好处吗?
  2. 我应该切换到以下内容吗?
python -m venv venv && source ./venv/bin/activate
python -m pip install -U pip
python -m pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
  1. 安装需求文件的最佳方法是什么?
    • 我有时会看到人们安装/wheel升级setuptools

hol*_*web 5

您的问题的答案是:

  1. 不。pip目前并不将自身视为特殊依赖项,因此它不知道安装然后执行自身,这是它需要做的来克服您观察到的问题。
  2. 在单独的步骤中更新pip确实是推荐的继续方式。

您可能会不时看到pip一条消息,通知有新版本可用。如果您使用过时的 python 创建它们,这种情况会经常发生pip