我正在运行本地pypi server。我可以通过使用-i
命令的pip
选项指定包或通过设置PIP_INDEX_URL
环境变量来安装此服务器中的包。当我安装具有先决条件的软件包时,setup.py
历来尊重PIP_INDEX_URL
环境变量,从我的本地服务器中提取其他软件包。
但是,在最近安装的几个系统上,它的行为有所不同。例如,运行python setup.py develop
失败,因为它尝试从 pypi.python.org 安装必备软件包。
我已经在我正在测试的所有系统上更新了所有相关的python包(python
,distribute
,virtualenv
,pip
等...)继续看到这种差异。在我的“原始”系统上,setup.py
从我的PIP_INDEX_URL
环境变量中指定的pypi服务器下载先决条件。在较新的系统上,我似乎无法使它尊重这个变量。
我错过了什么?
答案 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 .
来产生相同的效果。