我创建了一个私有 pip 存储并通过 共享它/var/www/html
,客户端配置了一个pip.conf
包含受信任主机和索引 url 配置的文件,当我将包手动下载到我的私有 pip 存储并pip install
从客户端运行并且包存在时,一切正常。 。
问题是我想要一个客户端运行pip install packageName
,如果我的私人 pip 存储中不存在该包,它会自动下载它并将其存储在那里。
是否可以?
答案1
听起来您正在寻找的东西称为拉取缓存或拉取代理。
pypicache
有一个项目叫pypicache它可以满足您的要求。
摘抄:
pypicache 可以通过以下方式使用:
- 作为 PyPI 的直接代理,尽可能缓存包下载。
- 作为一个完全独立的 PyPI 服务器,对于部署非常有用。
- 作为托管自定义包的内部服务器。
可能的日常工作流程可能涉及在开发人员的计算机或办公室中运行的 pypicache 服务器。开发人员可以通过该服务器安装软件包。该服务器还可以由部署构建工具共享,该工具将从完全本地的包副本进行安装。这允许可重复的构建。
乌贼
如果 pypicache 不能满足您的需求,我使用过乌贼还可以设置拉动代理缓存。这可能会需要更多的工作,但也可以在这种情况下使用。
使用代理
顺便说一句,当您使用这样的代理缓存时,您需要pip
像这样调用:
$ pip install --proxy=https://user@mydomain:port somepackage
笔记:可以将其配置到您的环境中,以便您不必包含--proxy
所有调用。
$ export https_proxy=http://user@mydomain:port
$ pip install somepackage