Pip: Ne dépréciez pas depend_links et ne laissez pas pip utiliser un fichier requirements.txt lors de l'installation à partir de git

Créé le 2 avr. 2015  ·  3Commentaires  ·  Source: pypa/pip

En essayant de trouver un moyen léger de distribuer des scripts python au sein d'une organisation, la situation proposée avec pip telle qu'implique par les messages de dépréciation est absurde.

Vous pouvez _facilement_ distribuer un seul package sur un serveur git (ce que la plupart des organisations ont)... mais vous ne pouvez pas facilement distribuer un package qui pourrait dépendre de quelques autres packages internes.

Si pip supprime le traitement des liens de dépendance, alors ce style de distribution deviendra complètement impossible - ce qui pour moi contraste fortement avec quelque chose comme npm qui rend cela absurdement facile.

Bien sûr, ne le rendez pas implicite - mais il doit y avoir un moyen simple d'envoyer à un collègue une commande d'une seule ligne qui installera un paquet contenant un tas d'autres dépendances git.

La solution idéale serait un moyen de forcer pip à traiter le fichier requirements.txt à partir d'un référentiel git, afin que le référentiel puisse définir ses autres exigences spécifiquement (puisque c'est quelque chose qu'une bibliothèque dans un référentiel git fait certainement).

Parfait serait quelque chose comme :
pip install --follow-requirements git+http://my.internal.gitserver/internallibrary.git

Peut-être donner une invite pour les exigences non fiables ?

auto-locked

Commentaire le plus utile

@dstufft Quel est ce remplacement ?

J'ai deux packages PackageA et PackageB stockés dans des référentiels Git privés et une application App. L'application dépend de PackageA et PackageA dépend de PackageB. Je n'ai trouvé aucun moyen d'installer automatiquement PackageB en tant que dépendance de PackageA lors de l'installation des exigences de l'application.

Tous les 3 commentaires

Nous n'allons pas supprimer les liens de dépendance jusqu'à ce que leur remplacement (que PyPI comprenne et puisse imposer que vous ne téléchargiez pas de packages s'appuyant sur eux) soit implémenté.

@dstufft Quel est ce remplacement ?

J'ai deux packages PackageA et PackageB stockés dans des référentiels Git privés et une application App. L'application dépend de PackageA et PackageA dépend de PackageB. Je n'ai trouvé aucun moyen d'installer automatiquement PackageB en tant que dépendance de PackageA lors de l'installation des exigences de l'application.

@connorbode que diriez-vous de configurer un index devpi avec les versions, alors vous pouvez pointer pip vers le devpi en tant qu'index et n'aurez pas besoin de liens de dépendance et il mettra également en miroir/cache pypi dans votre réseau de travail

Cette page vous a été utile?
0 / 5 - 0 notes