问题描述
使用以下几种变体来设置Python虚拟环境似乎是一种常见做法:
python -m venv venv && source ./venv/bin/activate
python -m pip install -U pip -r requirements.txt
我希望以上命令可以执行以下操作:
- 先升级
pip
- 在
requirements.txt
中运行软件包的安装
但是,实际上似乎发生的是:
- 收集所有软件包,包括
pip
的最新版本 - 将它们全部安装在一起
- 实际运行安装的是
pip
的原始/过时版本 - 直到此命令之后,才使用新版本的
pip
- 实际运行安装的是
问题
python -m venv venv && source ./venv/bin/activate
python -m pip install -U pip
python -m pip install -r requirements.txt
解决方法
您的问题的答案是:
- 不。
pip
目前尚未将自己视为特殊的依赖项,因此它不知道先安装然后执行,这是克服您所观察到的问题所需采取的措施。 - 在单独的步骤中更新
pip
确实是继续进行的推荐方法。
您可能会不时看到pip
发出一条消息,通知您有较新的版本。如果您是通过带有过时的pip
的python创建的,则会发生这种情况。