【发布时间】:2016-11-22 23:40:42
【问题描述】:
我正在尝试在只能连接外部硬盘驱动器的服务器上创建具有 pip 搜索功能的完整本地 Pypi 存储库镜像。明确一点,我不想要一个简单的缓存系统,服务器连接到一个完全封闭的网络中的其他机器,根本无法访问互联网。
到目前为止,我所做的是用 bandersnatch 转储每个 pypi 包,我可以在它前面使用一个简单的 http 服务器进行 pip 安装。我还检索了 pypi 遗留源代码,并让它在没有任何 python 包的情况下工作。我现在遇到的问题是链接双方,我什至不确定这是否可以这样做。
我还测试了 pypiserver。它本可以完成我想要的,但它太慢了,最终导致 pip 搜索抛出超时(看起来它不是为处理那么多包而构建的)。
最后,我看了一下 devpi。似乎可以很好地完成我想做的工作,但我正在寻找一种方法可以轻松地将我的 bandersnatch 转储导入其中。看来我不能根据本地目录创建索引。
感谢您的回复。
【问题讨论】:
-
非常及时的问题,因为我正盯着同一个问题:pip 客户端将没有任何 Internet 访问权限,需要一个完整的 PyPi 镜像,在我注意到它基本上只做缓存之前从 Bandersnatch 开始,看到devpi 勾选了所有框 - 现在试图弄清楚如何通过叠加 devpi 的索引来挽救我大量的 bandersnatch 下载!
-
@Marakai 我刚刚下载完 Bandersnatch 的大量转储。你是在告诉我这是在浪费时间、精力和带宽吗??
-
@ArjunJRao 好吧,我只能这样回答:Bandersnatch 会做你想做的一切吗?那我想它对你有用。根据我的评论时间戳,我们已经使用 devpi 一年了,它非常棒!只缓存我们实际需要的远程而不是整个 PyPi 档案,我们可以无缝地添加我们自己的包存储库,它有一些很好的管理工具来索引和清理存储库。
标签: python pip pypi devpi pypiserver