Qu'est-ce que “pkg-ressources==0.0.0” en sortie de pip en gel de commande
Quand je lance 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 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
fichier généré avec pip freeze
qui comprend le 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-ce que pkg-resources
, et est-il OK pour supprimer cette ligne de requirements.txt
?
Mise à jour:
J'ai trouvé que cette ligne ne semble exister à la sortie de pip freeze
quand je suis dans un 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ée à virtualenv
.
- "il semble que de casser des choses, dans certains cas, lorsque vous essayez d'installer les paquets avec un requirements.txt fichier généré avec le pip freeze qui comprend le pkg-ressources==0.0.0 ligne.". Vous pouvez peut-être donner un exemple pour que?
- bon point. J'ai ajouté l'exemple que j'ai rencontré.
- hm, quelle est votre version de
pip
? Je pense à ce qui pourrait de quelque chose qu'ils ont manqué une ancienne version depuis en8.1.2
je n'ai pas d'entrée pourpkg-resources
. (Ce qui ne devrait pas depuis que je suis assez sûrpkg-resources
est livré avecsetuptools
). - Mon
pip
version est8.1.2
. - Eh bien, c'est bizarre. Moi aussi, je suis sur
Ubuntu 16.04
avecpip 8.1.2
et n'ont toujours pas le voir. - il vient de se produire pour moi que cela peut être lié à
virtualenv
, et en effet, quand je ne suis pas dans un virtualenv je ne vois pas non plus. Ce n'est toujours pas expliquer ce que c'est, mais au moins est un indice que je peux étudier. - Dupe de stackoverflow.com/questions/38992194/... ?
- Double Possible de Pourquoi ne pip freeze liste "pkg-ressources==0.0.0"?
Vous devez vous connecter pour publier un commentaire.
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
À 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
):pip uninstall pkg-resources
?AttributeError: module 'pkg_resources' has no attribute 'iter_entry_points'
, donc je pense que son meilleur il suffit de le supprimer derequirements.txt
Que 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 8.5 course
"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.
virtualenv
ainsi?Sur Ubuntu, vous pouvez résoudre ce problème en supprimant Ubuntu
virtualenv
paquet et l'installation de la nouvelle version depip
: