来自 Python 的 PyPI 本地副本
Local copy of PyPI fro Python
我需要在内部网络上部署 PyPI 的副本。这个想法是将所有 PyPI 包都放在本地存储库中,避免一直连接到真正的 PyPI 存储库。
我用bandersnatch按照PEP381镜像了PyPI的文件。
比客户的 pip 我删除 /etc/pip.conf 如下
[global]
index-url = http://www.myserver.com/repo/PyPI/web/simple
trusted-host = www.myserver.com
在客户端机器上命令:
pip install -v <some packages>
使用本地存储库工作。但是命令
pip search --index http://www.myserver.com/repo/PyPI/web/simple <some packages>
不起作用并且 returns
raise HTTPError(http_error_msg, response=self)
pip._vendor.requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://www.myserver.com/repo/PyPI/web/
这里有 2 个问题:
是否可以在不安装本地PyPI服务器(例如pypiserver的情况下启用pip搜索命令?
此外,如果本地 pip 安装命令失败(例如本地不存在),是否可以回退到官方 PyPI 服务器?
谢谢
查理
bandersnatch
只是复制包,这不足以拥有 PyPI 的副本。您需要一个服务器端程序,例如 pypiserver, devpi、Artifactory、Nessus…
我看到 devpi 使用 /+simple/,你可能需要你的反向代理重写 URL 以便 Artifactory 可以使用它(/simple 是 Artifactory 中 repo 类型的要求)
我需要在内部网络上部署 PyPI 的副本。这个想法是将所有 PyPI 包都放在本地存储库中,避免一直连接到真正的 PyPI 存储库。
我用bandersnatch按照PEP381镜像了PyPI的文件。 比客户的 pip 我删除 /etc/pip.conf 如下
[global]
index-url = http://www.myserver.com/repo/PyPI/web/simple
trusted-host = www.myserver.com
在客户端机器上命令:
pip install -v <some packages>
使用本地存储库工作。但是命令
pip search --index http://www.myserver.com/repo/PyPI/web/simple <some packages>
不起作用并且 returns
raise HTTPError(http_error_msg, response=self)
pip._vendor.requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://www.myserver.com/repo/PyPI/web/
这里有 2 个问题:
是否可以在不安装本地PyPI服务器(例如pypiserver的情况下启用pip搜索命令?
此外,如果本地 pip 安装命令失败(例如本地不存在),是否可以回退到官方 PyPI 服务器?
谢谢
查理
bandersnatch
只是复制包,这不足以拥有 PyPI 的副本。您需要一个服务器端程序,例如 pypiserver, devpi、Artifactory、Nessus…
我看到 devpi 使用 /+simple/,你可能需要你的反向代理重写 URL 以便 Artifactory 可以使用它(/simple 是 Artifactory 中 repo 类型的要求)