Pourquoi le PIP gèle-t-il la liste "pkg-resources==0.0.0"?
sur Ubuntu 16.04 avec virtualenv 15.0.1 et Python 3.5.2 (tous deux installés avec apt
) lorsque je crée et active un nouvel environnement virtuel Python avec
virtualenv .virtualenvs/wtf -p $(which python3) --no-site-packages
source .virtualenvs/wtf/bin/activate
j'obtiens la sortie suivante:
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/das-g/.virtualenvs/wtf/bin/python3
Also creating executable in /home/das-g/.virtualenvs/wtf/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
en effet pip freeze --all
liste ces 4 paquets:
pip==8.1.2
pkg-resources==0.0.0
setuptools==25.2.0
wheel==0.29.0
cependant, je m'attendais à ce que pip freeze
(sans --all
) omette ces paquets implicitement installés. Il n'omettre certaines de Les, mais pas pkg-resources
:
pkg-resources==0.0.0
(même btw. pour pip freeze --local
)
bien que cela soit compatible avec le texte d'aide
$> pip freeze --help | grep '--all'
--all Do not skip these packages in the output: pip, setuptools, distribute, wheel
avoir pkg-resources
dans la sortie pip freeze
ne semble pas très utile et pourrait même être nuisible. (Je pense que c'est pour ça que pip-sync
de pip-tools désinstalle pkg-ressources de l'environnement virtuel, brisant subtilement l'environnement de ce fait.) Est-il une bonne raison pour laquelle pip freeze
listes pkg-resources
au lieu de les omettant, trop? autant que je me souvienne, il ne l'a pas listée sur Ubuntu 14.04 (avec Python 3.4).
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
j'ai eu le même problème dans mon environnement virtuel. Je l'ai enlevé avec pip uninstall pkg-resources==0.0.0