¿Cómo enumero los archivos asociados con un paquete Python instalado usando pip o easy_install?

67

He instalado un paquete de Python usando pip, que es un reemplazo para easy_install. ¿Cómo obtengo una lista de los archivos instalados asociados con este paquete?

Básicamente, estoy buscando el paquete de Python equivalente a

dpkg -L

o

rpm -ql
Lorin Hochstein
fuente

Respuestas:

89

Podrías hacerlo usando el comando:

pip show -f <package>
Bunyk
fuente
No funciona para mi pip: error: No command by the name pip show. (Usando pip 1.1)
Zitrax
@Zitrax Bueno, actualmente estoy usando pip 1.4.1, y funciona, puede ser que debas actualizar pip.
Bunyk
Sí, aquí está la respuesta a eso: stackoverflow.com/a/14060138/816449 Funciona en 1.2.1.post1.
Bunyk
1
Parece que esto no funciona para todos los paquetes. Por ejemplo, pip show -f nbconvertda Files: Cannot locate installed-files.txt.
Alex Coventry
Tampoco funciona para paquetes instalados usando python setup.py develop.
akaihola
4

Yo uso virtualenv con pip, así que aquí están los pasos que sigo. Supongamos que estoy trabajando en el dave_venventorno virtual.

$ cat ~/.bashrc

export WORKON_HOME=/usr/local/virtualenvs

$ cd /usr/local/virtualenvs/dave_venv/lib/python2.6/site-packages
$ ls # This should show <your_package>.
$ cd <your_package>
$ ls # now you're looking at your package's files.
Dave Aaron Smith
fuente
1
funciona en la mayoría de los casos, pero no si el paquete instala las secuencias de comandos de línea de comandos, que terminaría en usr / local / bin .... También, algunos paquetes pueden instalar varios módulos ...
hwjp
@hwjp ¿Conoces la respuesta a: Encuentra qué paquete de Python posee un binario ?
Tom Hale
2

Dos años después, la mayoría de las instancias de pip se han mostrado, sin embargo, no todos los paquetes tienen el programa de archivos instalados.txt para que el subcomando lea.

Una solución alternativa es iniciar el shell de Python y hacer esto:

>>> import eventlet
>>> eventlet.__path__
    ['/usr/lib/python2.7/dist-packages/eventlet']

donde "eventlet" es el paquete que instalé con pip.

coyot
fuente