追加のpythonパッケージインデックス(ala pip --extra-index-url pypi.example.org mypackage
)をsetup.py
で使用して、python setup.py install
がpypi.example.org
?
あなたがパッケージメンテナーで、パッケージの1つ以上の依存関係をPyPi以外の場所でホストしたい場合は、ディストリビューションのsetup.py
ファイルでsetuptools
の- 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のいずれかに依存しているドキュメントどおり ここ 。
packagesへの追加パスは、これらのファイルのいずれかで find_links を使用して定義できます。レジストリURLはindex_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
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
は出力します:
[easy_install]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
以下は私のために働きました(インストールではなく開発):
$ python setup.py develop --index-url https://x.com/n/r/pypi-proxy/simple
どこ https://x.com/n/r/pypi-proxy/simple
はローカルのPyPIリポジトリです。