Python包代理/缓存

Python包代理/缓存,python,caching,pypi,Python,Caching,Pypi,我试图找到一种方法来缓存或存储网络上每台计算机的特定python包。我已经了解了以下解决方案: 但它已不再被积极开发,作者建议使用devpi,请参见: 但作者在这里也推荐devpi,见: -为此,我遵循了其中一个,但这只允许从localhost访问,因此我尝试遵循。虽然我不确定这里的部分,即: virtualenv的使用。这背后的原因没有解释,为什么不能正常安装?(如果您不是python打包师,为什么要使用virtualenv?) 安装说明中不推荐使用的部分(使用--gendeploy)。没

我试图找到一种方法来缓存或存储网络上每台计算机的特定python包。我已经了解了以下解决方案:

  • 但它已不再被积极开发,作者建议使用devpi,请参见:
  • 但作者在这里也推荐devpi,见:
  • -为此,我遵循了其中一个,但这只允许从
    localhost
    访问,因此我尝试遵循。虽然我不确定这里的部分,即:
    • virtualenv的使用。这背后的原因没有解释,为什么不能正常安装?(如果您不是python打包师,为什么要使用virtualenv?)
    • 安装说明中不推荐使用的部分(使用
      --gendeploy
      )。没有其他选择,我是不是忽略了它?这似乎很重要
    • 为什么需要主管
  • 所以我决定看一看,这非常容易设置,我可以告诉pip将它与
    -I
    选项一起使用,但它似乎不会缓存任何包。如果我停止pypiserver,那么
    pip安装将失败,因为它无法连接到pypiserver,这意味着它必须在使用它。只是它没有存储任何包。我最好的猜测是,它只是代理请求,而不是缓存下载
有没有一个标准的方法可以做到这一点?我的目标是防止internet连接丢失或软件包被删除,以便网络上的客户机在出现任何一种情况时仍然可以设置开发或生产机器,同时加快设置开发或生产机器的速度

我觉得
devpi
pypiserver
都是不错的选择,我只是缺少了一些让它们工作的东西


编辑:看来我对
pypiserver
的看法是正确的,因为它只是将请求代理给PyPI。它用于上传您自己的软件包,因此您可以从
pypiserver
下载它们,但如果您要查找官方软件包,则可以从PyPI获得它。

几天前发布了一个新版本的Devpi。已经解决了所有问题,我决定使用
devpi服务器2.0.1
。Devpi不仅为PyPI包提供缓存代理,还允许您使用
Devpi客户机上传自定义包。因为我不需要这个功能,所以我只使用
root/pypi
索引,如图所示。尽管我遵循了关于
devpi客户机的最后一部分的说明