在virtualenv中使用本地包存储库而不是public pypi来设置setuptools

时间:2018-01-03 17:54:29

标签: python python-3.x pip virtualenv setuptools

我有一个virtualenv,我使用内部网存储库从该pip安装了许多软件包(该机器没有Internet访问权限)。我在virtualenv目录中有pip.conf,pip使用它没有问题。但是,有一个使用setup.py选项的setup_requires文件包。由于这不使用pip而是easy_install来获取依赖项,因此它不使用virtualenv的pip.conf中指定的存储库(请参阅https://pip.pypa.io/en/stable/reference/pip_install/#controlling-setup-requires)。

对此的明显解决方案是创建distutils配置文件以指定我要使用的Intranet存储库。

当我在~/.pydistutils.cfg创建一个特定于用户的配置文件时,这工作正常,但这不是一个可移植的解决方案,因为我无法在使用virtualenv时覆盖同事主目录中的文件。我希望能够在virtualenv本身中指定distutils配置,但我似乎无法弄清楚如何做到这一点。

distutils配置文档似乎建议我可以在这里放一个文件:

prefix/lib/pythonver/distutils/distutils.cfg,但这似乎不适合我。

此配置的内容基本上是:

[easy_install]
allow_hosts = internalhostname
index_url = http://internalhostname/artifactory/api/pypi/pypi/simple

我实际上在virtualenv中使用了setuptools,但很多setuptools的文档似乎都引用了distutils配置(例如参见http://setuptools.readthedocs.io/en/latest/easy_install.html#configuration-files

如何在virtualenv中使用setuptools使用特定的软件包存储库而无需特定于用户或系统范围的配置更改?

0 个答案:

没有答案