对于每次部署到我们的测试服务器,我们都使用
安装许多软件包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))
两个观察结果:
我们正在不同的虚拟机中并行运行多个构建,因此我认为这是一种竞争条件。 我已经确保将环境变量 TMPDIR 设置为每个构建过程的不同位置,但是问题仍然存在。
有没有想过其他点子处理可以互相干扰的地方?
我正在将pip 18.1与python 3.5.3配合使用
答案 0 :(得分:0)
感谢@hoefling,这些附加的冗长消息似乎表明问题是pip进行了缓存,即使我真的无法弄清楚到底是什么问题。 在某些情况下,pip似乎试图在缓存中找到版本,而并行进程却无法找到它。
自从我添加了选项pip --no-cache
以来,此问题就不再发生。