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

quand j'exécute pip freeze je vois (entre autres paquets attendus) pkg-resources==0.0.0 . J'ai vu quelques messages mentionnant ce paquet (y compris celui-ci ), mais aucun expliquant ce qu'il est, ou pourquoi il est inclus dans la sortie de pip freeze . La principale raison pour laquelle je me pose la question Est par curiosité, mais aussi, il semble casser des choses dans certains cas en essayant d'installer des paquets avec un requirements.txt fichier généré avec pip freeze qui comprend le pkg-resources==0.0.0 ligne (par exemple quand Travis CI essaie d'installer des dépendances par pip et trouve cette ligne).

Qu'est-ce que pkg-resources , et est-il correct de 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 sais toujours pas ce que c'est ou ce que ça fait, mais je enquêtera en sachant que c'est probablement lié à virtualenv .

62
demandé sur elethan 2016-09-19 19:36:39

2 réponses

selon https://github.com/pypa/pip/issues/4022 , il s'agit d'un bug résultant de la fourniture par Ubuntu de métadonnées incorrectes à pip. Donc, non, il ne semble pas y avoir de bonne raison pour ce comportement. J'ai rempli un bug de suivi avec Ubuntu. https://bugs.launchpad.net/ubuntu/+source/python-pip / + bug / 1635463

pour sauvegarder la réponse précédente, il devrait être sûr de supprimer cette ligne de vos besoins.txt. Voici un exemple créer une strophe de fichier qui bloque en toute sécurité votre liste de paquets (déposer votre Makefile et exécuter avec make freeze ):

freeze:
    pip freeze | grep -v "pkg-resources" > requirements.txt
71
répondu Craig Wright 2016-10-21 02:30:45

comme pour la partie de votre question "Est-il correct de supprimer cette ligne":

j'ai la même question ici développer sur un ubuntu 16.04 avec cette même ligne dans les exigences. Pip se plaint que pkg-resources n'est pas "trouvé" mais qu'il y a un paquet global installé "python-pkg-resources" de sorte que la dépendance doit être satisfaite. Idem pour ubuntu: le paquet existe là aussi.

comme indiqué ici il semble qu'il s'agisse d'un "paquet implicitement installé".

donc: si vous êtes sur une Debian/Ubuntu ayant Python-pkg-resources installé il devrait être sûr de supprimer cette ligne . Je l'ai fait et tout fonctionne bien. Cependant, comme je ne suis pas un expert en la matière, vous devez garder à l'esprit que cela peut entraîner des complications lors d'un déploiement sur une autre machine.

7
répondu khaoz 2017-05-23 11:33:27