猿问

pip 无法安装任意模块

对于每次部署到我们的测试服务器,我们都会使用


pip install -r requirements.txt --upgrade

在大约一半的情况下,pip 无法安装一个包,返回一个错误,例如


Could not find a version that satisfies the requirement django-brotli==0.1.3 (from -r configuration/environments/dev/../requirements.txt (line 66)) (from versions: )

No matching distribution found for django-brotli==0.1.3 (from -r configuration/environments/dev/../requirements.txt (line 66))

两个观察:


pip 无法安装的软件包确实存在 - 安装在以前和以后的版本中都运行良好。

失败的包是任意的

我们在不同的 venv 中并行运行多个构建,所以我认为这是一种竞争条件。我已经确保为每个构建过程将环境变量TMPDIR设置为不同的位置,但问题仍然存在。


知道 pip 进程还有哪些地方会相互干扰?


我正在使用 pip 18.1 和 python 3.5.3


皈依舞
浏览 184回答 1
1回答

白猪掌柜的

额外的冗长消息似乎表明问题在于 pip 所做的缓存,即使我真的无法弄清楚确切的问题是什么。看起来在某些情况下 pip 试图在缓存中找到版本,但在并行进程能够找到它时却找不到。由于我添加了该选项,pip --no-cache因此问题没有再次发生。
随时随地看视频慕课网APP

相关分类

Python
我要回答