Existe-t-il un moyen d'utiliser un index de package supplémentaire python (ala pip --extra-index-url pypi.example.org mypackage
) avec setup.py
pour que l'exécution de python setup.py install
peut trouver les packages hébergés sur pypi.example.org
?
Si vous êtes le responsable du package et que vous souhaitez héberger une ou plusieurs dépendances pour votre package ailleurs que PyPi, vous pouvez utiliser l'option dependency_links de setuptools
dans votre distribution setup.py
Fichier. Cela vous permet de fournir un emplacement explicite où votre colis peut être localisé.
Par exemple:
from setuptools import setup
setup(
name='somepackage',
install_requires=[
'somedep'
],
dependency_links=[
'https://pypi.example.org/pypi/somedep/'
]
# ...
)
Si vous hébergez votre propre serveur d'index, vous devrez fournir des liens vers les pages contenant les liens de téléchargement réels pour chaque œuf, pas la page répertoriant tous les packages (par exemple https://pypi.example.org/pypi/somedep/
, Pas https://pypi.example.org/
)
setuptools utilise easy_install sous le capot.
Il s'appuie sur setup.cfg ou ~/.pydistutils.cfg comme documenté ici .
Des chemins supplémentaires vers les packages peuvent être définis dans l'un de ces fichiers avec find_links . Vous pouvez remplacer l'url du registre avec index_url mais ne pouvez pas fournir une extra-index-url . Exemple ci-dessous inspiré des documents:
[easy_install]
find_links = http://mypackages.example.com/somedir/
http://turbogears.org/download/
http://peak.telecommunity.com/dist/
index-url = https://mypi.example.com
Solution trouvée lors de l'utilisation de 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
Lequel /bin/echo -e [easy_install]\\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple
affichera:
[easy_install]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
Les éléments suivants ont fonctionné pour moi (développer, pas installer):
$ python setup.py develop --index-url https://x.com/n/r/pypi-proxy/simple
Où https://x.com/n/r/pypi-proxy/simple
est un référentiel PyPI local.