我目前的情况如下:我的公司为所有外部站点都配备了代理服务器,但所有内部主机都只能直接连接。通过代理访问它们将导致代理错误。我们有一个内部 pypi(作为额外索引添加),我们在那里托管我们自己的 python 包,当然我们也依赖官方 pypi 来获取正式发布的包。
pip,即 python 包安装程序,尊重 HTTP_PROXY 变量,但问题是它是一个全有或全无的情况,这意味着我要么无法连接到内部 pypi,要么无法连接到外部 pypi。
浏览器通常通过 proxy.pac 处理此问题,但命令行工具不会执行此操作。
我无法访问代理配置,而且我不太可能更改它。我在这个 SE 上提问是因为它更有可能有我不熟悉的技巧来处理这种情况。
答案1
pip install
看着http://pypi.python.org/simple//
公司通常会创建代理来http://pypi.python.org/simple因此所有内部站点在未暴露于互联网时都可以访问它。
如果您无法修改代理设置,那么建立官方 repo 站点的克隆/镜像可能会更简单,这样您就可以通过本地镜像拉取任何包。
您可以在 中配置此 URL pip.conf
。默认情况下,pip 会查找$HOME/.pip/pip.conf
配置数据。
[global]
extra-index-url = https://my-pypi.mywebsite.com/simple
timeout = 10