Comment puis-je installer des packages hébergés dans un PyPI privé à l'aide de setup.py?
Je suis en train d'écrire le setup.py
fichier d'installation pour un projet privé, qui a à la fois public et privé, dépendances. Les publics sont hébergés sur PyPI, alors que les privées sont hébergés sur un serveur qui exécute simplepypi.
Je voudrais à la fois public et privé, dépendances résolues et récupéré lors de l'installation.
J'ai donc ajouté mon dépendances à setup.py
:
setup(
...
install_requires = [
# public dependencies
'argparse==1.2.1',
'beautifulsoup4==4.1.3',
'lxml==3.1.0',
'mongoengine==0.8.2',
'pymongo==2.5.2',
'requests==1.1.0',
'Cython==0.18',
# private dependencies
'myprivatepackage1',
'myprivatepackage2'
],
dependency_links=['http://pypi.myserver.com/packages'],
...
)
- Je construire le package archive à l'aide de la commande python setup.py sdist
et l'installer dans une activé virtualenv à l'aide de pip install --verbose path/to/tarball.tar.gz
.
Cependant, le pip lignes du journal ne mentionne pas mon privé PyPI serveur n'importe où, et https://pypi.python.org/simple/ semble avoir été interrogé à deux reprises.
Running setup.py egg_info for package from file:///home/b/code/mapado/mypackage/dist/mypackage-0.5.1.tar.gz
running egg_info
creating pip-egg-info/mypackage.egg-info
writing requirements to pip-egg-info/mypackage.egg-info/requires.txt
writing pip-egg-info/mypackage.egg-info/PKG-INFO
writing top-level names to pip-egg-info/mypackage.egg-info/top_level.txt
writing dependency_links to pip-egg-info/mypackage.egg-info/dependency_links.txt
writing manifest file 'pip-egg-info/mypackage.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
reading manifest file 'pip-egg-info/mypackage.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'pip-egg-info/mypackage.egg-info/SOURCES.txt'
Downloading/unpacking myprivatepackage (from mypackage==0.5.1)
Could not fetch URL https://pypi.python.org/simple/myprivatepackage/: HTTP Error 404: Not Found (myprivatepackage does not have any releases)
Will skip URL https://pypi.python.org/simple/myprivatepackage/ when looking for download links for myprivatepackage (from mypackage==0.5.1)
Could not fetch URL https://pypi.python.org/simple/myprivatepackage/: HTTP Error 404: Not Found (myprivatepackage does not have any releases)
Will skip URL https://pypi.python.org/simple/myprivatepackage/ when looking for download links for myprivatepackage (from mypackage==0.5.1)
Could not find any downloads that satisfy the requirement myprivatepackage (from mypackage==0.5.1)
Cleaning up...
Ce qui me manque?
Merci beaucoup!
source d'informationauteur Balthazar Rouberol
Vous devez vous connecter pour publier un commentaire.
il semble que vous navez pas de spécifier votre hôte comme la doc de simplepy dit, vous avez besoin pour l'installation de votre
~/.pipyrc
avec le bon nom d'hôte commealors vous allez télécharger le paquet
et l'installer à partir de là
Espère que cela aidera.
dependency_links
est ignoré par défaut (au moins dans le pep 9.0.1)Afin de rejoindre votre serveur, vous devez ajouter
--process-dependency-links
Je crois pip 10 apportera un nouveau mécanisme demais pour l'instant cela a fonctionner pour moi
J'ai aussi eu à mettre à jour
dependency_links
d'inclure le nom du paquet, par exemple: