有没有办法将额外的Python包索引(ala
pip --extra-index-url pypi.example.org mypackage
)与setup.py
一起使用,以便运行python setup.py install
可以找到托管在pypi.example.org
上的包?
如果您是软件包维护者,并且希望在 PyPi 之外的其他位置托管软件包的一个或多个依赖项,则可以在发行版的 setuptools
文件中使用
setup.py
的 dependency_links选项。这使您可以提供包裹所在的明确位置。
例如:
from setuptools import setup
setup(
name='somepackage',
install_requires=[
'somedep'
],
dependency_links=[
'https://pypi.example.org/pypi/somedep/'
]
# ...
)
如果您托管自己的索引服务器,则需要提供包含每个egg的实际下载链接的页面的链接,而不是列出所有包的页面(例如
https://pypi.example.org/pypi/somedep/
,而不是https://pypi.example.org/
)
setuptools 在底层使用 easy_install。
它依赖于setup.cfg或~/.pydistutils.cfg,如here所述。
到 packages 的额外路径可以使用 find_links 在这些文件中定义。您可以使用 index_url 覆盖注册表 URL,但无法提供 extra-index-url。下面的示例受文档启发:
[easy_install]
find_links = http://mypackages.example.com/somedir/
http://turbogears.org/download/
http://peak.telecommunity.com/dist/
index-url = https://mypi.example.com
我想发布一个最新的答案,因为两个最重要的答案都已过时;
easy_install
已弃用 setuptools
的使用。
https://setuptools.pypa.io/en/latest/deprecated/easy_install.html
简易安装已弃用。不要使用它。而是使用点。如果您认为需要轻松安装,请联系 PyPA 团队(pip 或 setuptools 的门票即可),描述您的用例。
请使用
pip
继续前进。您可以执行以下操作之一:
--index-url
命令提供 pip
标志index-url
文件中定义 pip.conf
PIP_INDEX_URL
环境变量以下内容对我有用(开发,而不是安装):
$ python setup.py develop --index-url https://example.xyz/r/pypi-proxy/simple
其中
https://example.xyz/n/r/pypi-proxy/simple
是本地 PyPI 存储库。
使用 Dockerfile 时找到解决方案:
RUN cd flask-mongoengine-0.9.5 && \
/bin/echo -e [easy_install]\\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple >> setup.cfg && \
python setup.py install
哪个
/bin/echo -e [easy_install]\\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple
将存在于文件setup.cfg
中:
[easy_install]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
据我所知,你不能这样做。 您需要告诉 pip 这一点,或者通过传递您提到的参数,或者在用户环境中设置它。
检查我的〜/.pip/pip.conf:
[global]
download_cache = ~/.cache/pip
index-url = http://user:[email protected]:80/simple
timeout = 300
在这种情况下,我的本地 pypiserver 还代理来自 pypi.python.org 的所有包,因此我不需要添加第二个条目。
这对我有用
PIP_INDEX_URL=<MY CUSTOM PIP INDEX URL> pip install -e .
我使用setup.py和setup.cfg
您可以将
--extra-index-urls
包含在requirements.txt 文件中。请参阅:http://pip.readthedocs.org/en/0.8.3/requirement-format.html