setup.py不尊重PIP_INDEX_URL

时间:2014-02-10 20:47:18

标签: python pypi

我正在运行本地pypi server。我可以通过使用-i命令的pip选项指定包或通过设置PIP_INDEX_URL环境变量来安装此服务器中的包。当我安装具有先决条件的软件包时,setup.py历来尊重PIP_INDEX_URL环境变量,从我的本地服务器中提取其他软件包。

但是,在最近安装的几个系统上,它的行为有所不同。例如,运行python setup.py develop失败,因为它尝试从 pypi.python.org 安装必备软件包。

我已经在我正在测试的所有系统上更新了所有相关的python包(pythondistributevirtualenvpip等...)继续看到这种差异。在我的“原始”系统上,setup.py从我的PIP_INDEX_URL环境变量中指定的pypi服务器下载先决条件。在较新的系统上,我似乎无法使它尊重这个变量。

我错过了什么?

2 个答案:

答案 0 :(得分:2)

在与setup.cfg相同的文件夹中创建setup.py,其中包含以下内容:

[easy_install]
allow_hosts = *.myintranet.example.com

来自:http://pythonhosted.org/setuptools/easy_install.html#restricting-downloads-with-allow-hosts

  

您可以使用--allow-hosts (-H)选项限制EasyInstall将查找链接和下载的域名。

     

--allow-hosts=None阻止完全下载。


答案 1 :(得分:2)

我遇到了同样的问题。从根本上说,setup.py正在使用setuptools,它利用easy_install,而不是pip。因此,它会忽略您设置的任何pip-related环境变量。

您可以运行pip(从包的顶部)python setup.py develop而不是使用pip install -e .来产生相同的效果。