200 votes

Qu'est-ce que "pkg-resources == 0.0.0" en sortie de la commande pip freeze

Lorsque j'exécute pip freeze je vois (entre autres paquets) pkg-resources==0.0.0. J'ai vu quelques posts mentionnant ce paquet (y compris cette une), mais aucun expliquant ce que c'est, ni pourquoi il est inclus dans la sortie de l' pip freeze. La raison principale que je me pose est de la curiosité, mais aussi, il semble casser des choses, dans certains cas, lorsque vous essayez d'installer les paquets avec un requirements.txt le fichier généré avec pip freeze qui comprend l' pkg-resources==0.0.0 ligne (par exemple, lorsque Travis CI tente d'installer les dépendances via pip et trouve cette ligne).

Qu'est - pkg-resources, et est-il OK pour supprimer cette ligne d' requirements.txt?

Mise à jour:

J'ai trouvé que cette ligne ne semble exister à la sortie de l' pip freeze quand je suis en virtualenv. Je ne suis toujours pas sûr de ce qu'il est ou ce qu'elle fait, mais je vais étudier plus en sachant que c'est probablement lié à l' virtualenv.

232voto

Craig Wright Points 1245

Selon https://github.com/pypa/pip/issues/4022, c'est un bug résultant de Ubuntu fournir incorrect métadonnées de pip. Donc, pas de là ne semble pas être une bonne raison à ce comportement. J'ai déposé un suivi de bug avec Ubuntu. https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463

Pour la sauvegarde de la réponse précédente, il devrait être sûr d'enlever cette ligne à partir de votre requirements.txt. Voici un exemple de fichier de strophe en toute sécurité gèle votre liste de paquet (drop dans votre Makefile et de courir avec make freeze):

freeze:
    pip freeze | grep -v "pkg-resources" > requirements.txt

16voto

khaoz Points 129

Comme pour la partie de votre question "est-il OK pour supprimer cette ligne?":

J'ai le même problème ici en développement sur une ubuntu 16.04 avec cette ligne dans les exigences. Lors du déploiement sur une debian l'exécution de 8,5 "pip install -r requirements.txt" pip se plaint que le pkg-ressources est "introuvable", mais il y a un mondial paquet installé "python-pkg-ressources" de sorte que la dépendance doit être satisfait. Même sur ubuntu: Le package existe là aussi.

Comme indiqué ici, il semble y avoir une certaine "implicitement installé le paquet".

Donc: Si vous êtes sur Debian/Ubuntu ayant python-pkg-ressources installé, il devrait être sûr d'enlever cette ligne. Je l'ai fait et tout fonctionne bien. Cependant depuis que je ne suis pas un expert sur ce que vous devez garder à l'esprit que cela peut conduire à des complications lors du déploiement sur une autre machine.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X