python - ¿Por qué pip freeze list "pkg-resources== 0.0.0"?
virtualenv python-3.5 (2)
En Ubuntu 16.04 con virtualenv 15.0.1 y Python 3.5.2 (ambos instalados con apt
) cuando creo y activo un nuevo entorno virtual de Python con
virtualenv .virtualenvs/wtf -p $(which python3) --no-site-packages
source .virtualenvs/wtf/bin/activate
Me sale el siguiente resultado:
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.
De hecho, pip freeze --all
enumera estos 4 paquetes:
pip==8.1.2
pkg-resources==0.0.0
setuptools==25.2.0
wheel==0.29.0
Sin embargo, esperaría que la pip freeze
(sin --all
) omita estos paquetes instalados implícitamente. Omite algunos de ellos, pero no pkg-resources
:
pkg-resources==0.0.0
(Lo mismo por cierto. Para pip freeze --local
)
Si bien esto es consistente con el texto de ayuda
$> pip freeze --help | grep ''/--all''
--all Do not skip these packages in the output: pip, setuptools, distribute, wheel
tener pkg-resources
en la salida de pip freeze
no parece muy útil e incluso podría ser perjudicial. (Sospecho que es por eso que al ejecutar pip-sync
desde pip-tools desinstalan pkg-resources del entorno virtual, rompiendo sutilmente el entorno). ¿Hay alguna buena razón para que pip freeze
enumere pkg-resources
lugar de omitirlo? Por lo que recuerdo, no lo incluyó en Ubuntu 14.04 (con Python 3.4).
De acuerdo con github.com/pypa/pip/issues/4022 , este es un error resultante de que Ubuntu proporcionó metadatos incorrectos a pip. Entonces, no, no parece haber una buena razón para este comportamiento. Presenté un error de seguimiento con Ubuntu. bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463
Tuve el mismo problema en mi entorno virtual. Lo quité con pip uninstall pkg-resources==0.0.0