PyPI 可能不可靠。不幸的是,我有很多 Travis-CI 构建失败的情况,因为 pip 无法安装我的要求之一(lxml 是最臭名昭著的罪犯)。
各种在线资源推荐--use-mirrors
flag,到目前为止已经为我解决了这个问题。然而,--use-mirrors
is 已弃用有很多充分的理由。
不幸的是,正如链接中提到的,删除该标志的主要原因之一是新的 CDN 支持的 PyPI 不应该出现相同的问题。确实如此。我的构建仍然存在问题,并且我仍然无法使用 pip 可靠地安装软件包,除非我使用--use-mirrors
.
The 发行说明对于 2014 年 1 月 1 日发布的 1.5,建议使用以下标志之一-i
, -index-url
, or --extra-index-url
。这很棒,除了...我们遇到了一些与--use-mirrors
也就是说,这些镜子不一定是可信的。
The PyPI 镜像列表实际上已经被删除了,给我们留下了一些非官方镜子。因此我只剩下一个选择:继续使用--use-mirrors
并希望上述问题之一在被移除之前得到解决,或者选择一面镜子并希望它能工作并且值得信赖。
是否有一个被广泛接受和信任的镜子?或者是一个被广泛接受和信任的替代方案?基本上,我应该如何处理这个问题?
坦率地说,我从未遇到过您所描述的问题 - 所以我不知道如何解决公共 pypi 索引的问题。
然而,作为一般做法;我可以推荐以下我们在部署时使用的内容(因为我们部署的系统无法访问互联网):
创建本地 pypi 镜像,并在那里发布您的包。您可以通过多种方式做到这一点。简单的方法是basket或者您可以像我们一样创建您自己的 pypi 镜像(请参阅:如何滚动我自己的 pypi?以获得一些建议)。
Use wheel。这就是我们要迁移的目标,因为安装过程非常简单,并且不需要依赖其他服务器。
我知道拥有全局 pypi 索引非常方便,但作为部署构建链的一部分,我将使用它作为备份;其一,它位于我无法控制的网络上(因此它可能无法访问或不可靠);更重要的是,我的系统在构建过程中可能不需要访问互联网。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)