Je crée un setup.py
pour un projet qui dépend de dépôts GitHub privés. Les parties pertinentes du fichier ressemblent à ceci :
from setuptools import setup
setup(name='my_project',
...,
install_requires=[
'public_package',
'other_public_package',
'private_repo_1',
'private_repo_2',
],
dependency_links=[
'https://github.com/my_account/private_repo_1/master/tarball/',
'https://github.com/my_account/private_repo_2/master/tarball/',
],
...,
)
J'utilise setuptools
au lieu de distutils
car ce dernier ne supporte pas le install_requires
y dependency_links
arguments par este réponse.
Le fichier de configuration ci-dessus ne permet pas d'accéder aux dépôts privés avec une erreur 404 - ce qui est normal puisque GitHub renvoie une erreur 404 aux demandes non autorisées pour un dépôt privé. Cependant, je n'arrive pas à trouver comment faire en sorte que setuptools
authentifier.
Voici quelques-unes des choses que j'ai essayées :
-
Utilice
git+ssh://
au lieu dehttps://
endependency_links
comme je le ferais si j'installais le dépôt avecpip
. Cela échoue parce que setuptools ne reconnaît pas ce protocole ("unknown url type : git+ssh"), bien que l'option distribuer de la documentation dit qu'il devrait. Idemgit+https
ygit+http
. -
https://<username>:<password>@github.com/...
- On obtient toujours un 404. (Cette méthode ne fonctionne pas aveccurl
owget
à partir de la ligne de commande - bien quecurl -u <username> <repo_url> -O <output_file_name>
fonctionne). -
Mise à niveau de setuptools (0.9.7) et virtualenv (1.10) vers les dernières versions. J'ai également essayé d'installer distribute mais cet aperçu dit qu'il a été fusionné dans setuptools. Dans tous les cas, aucun résultat.
Actuellement, je n'ai que setup.py
affiche un avertissement indiquant que les dépôts privés doivent être téléchargés séparément. C'est évidemment loin d'être idéal. J'ai l'impression qu'il y a quelque chose d'évident qui m'échappe, mais je n'arrive pas à trouver ce que c'est :)
Question dupliquée sans réponse aquí .