python - ¿Qué es "pkg-resources== 0.0.0" en la salida del comando pip freeze
python-3.x ubuntu-16.04 (3)
De acuerdo con https://github.com/pypa/pip/issues/4022 , este es un error resultante de que Ubuntu proporciona metadatos incorrectos a pip. Entonces, no, no parece haber una buena razón para este comportamiento. Archivé un error de seguimiento con Ubuntu. https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463
Para hacer una copia de seguridad de la respuesta anterior, debería ser seguro eliminar esa línea de tus required.txt.
Aquí hay un ejemplo de la sección de archivo Make que congela de forma segura su lista de paquetes (suelte su Makefile y ejecútelo con
make freeze
):
freeze:
pip freeze | grep -v "pkg-resources" > requirements.txt
Cuando ejecuto
pip freeze
veo (entre otros paquetes esperados)
pkg-resources==0.0.0
.
He visto algunas publicaciones que mencionan este paquete (incluido
este
), pero ninguno explica qué es o por qué está incluido en la salida de
pip freeze
.
La razón principal por la que me pregunto es por curiosidad, pero también, parece que rompe cosas en algunos casos cuando intento instalar paquetes con un archivo
pkg-resources==0.0.0
generado con
pip freeze
que incluye la línea
pkg-resources==0.0.0
( por ejemplo, cuando
Travis CI
intenta instalar dependencias a través de
pip
y encuentra esta línea).
¿Qué es
pkg-resources
Está bien eliminar esta línea de
requirements.txt
?
Actualizar:
He descubierto que esta línea solo parece existir en la salida de
pip freeze
cuando estoy en
virtualenv
.
Todavía no estoy seguro de qué es o qué hace, pero investigaré más a fondo sabiendo que probablemente esté relacionado con
virtualenv
.
En Ubuntu, puede solucionar esto eliminando el paquete
virtualenv
Ubuntu e instalando una nueva versión de
pip
:
sudo apt remove virtualenv
sudo pip install -U virtualenv
En cuanto a la parte de su pregunta "¿ está bien eliminar esta línea? ":
Tengo el mismo problema aquí desarrollando en ubuntu 16.04 con esa misma línea en los requisitos.
Cuando se despliega en un Debian 8.5 que ejecuta
"pip install -r requirements.txt"
required.txt
"pip install -r requirements.txt"
pip se queja de que pkg-resources "no se encuentra" pero hay un paquete global instalado "python-pkg-resources", por lo que la dependencia debe satisfacerse.
Lo mismo en ubuntu: el paquete también existe allí.
Como se indica aquí , parece ser un "paquete instalado implícitamente".
Entonces: Si está en un Debian / Ubuntu con python-pkg-resources instalado, debería ser seguro eliminar esa línea . Lo hice y todo está funcionando bien. Sin embargo, dado que no soy un experto en esto, debe tener en cuenta que esto podría ocasionar complicaciones al implementarlo en otra máquina.