我的工作场所有一个私人托管的PyPI镜像,只能从特定的IP地址访问,可以通过VPN或办公室轻松访问,因为它是ip限制的。这允许我们pip install
我们使用的私人包。
要使用镜像,我在--extra-index-url
内指定了pip.conf
,在运行VPN时,可以使用pip install
就好了。
我希望能够在不连接到VPN时将pip install
用于公开提供的套餐。当我尝试从PyPI的公共镜像安装一个简单的公共可用包时,pip尝试连接5次(每次重试超时15秒)到由于缺少VPN而无法访问的私有镜像。错误如下所示:
$ pip install requests
Collecting requests
Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.requests.packages.urllib3.connection.HTTPConnection object at 0x7f36c0bd25c0>, 'Connection to devpi.*REDACTED*.com timed out. (connect timeout=15)')'
当我使用同一台机器进行工作和个人使用时,我不应该在使用pip时始终连接到工作VPN,所以这不是一个真正的选择。我遇到过一种解决方法,即在运行export PIP_CONFIG_FILE=/dev/null
之前在终端中运行pip install
,但每次我想要安装软件包时,这都是一个繁琐的过程。
在尝试连接到无法访问的URL之前,有没有办法让我可以先在公共镜像中查找pip?或者,是否有其他一些可能更清洁的解决方法,例如减少重试次数或将超时时间设置为短于15秒?