Wie liste ich die Dateien auf, die mit einem Python-Paket verknüpft sind, das mit pip oder easy_install installiert wurde?


67

Ich habe ein Python-Paket mit pip installiert, das easy_install ersetzt. Wie erhalte ich eine Liste der installierten Dateien, die mit diesem Paket verknüpft sind?

Grundsätzlich suche ich das Python-Paket-Äquivalent von

dpkg -L

oder

rpm -ql

Antworten:


89

Sie können dies mit dem folgenden Befehl tun:

pip show -f <package>

Nicht für mich arbeiten, pip: error: No command by the name pip show. (Mit Pip 1.1)
Zitrax

@ Zitrax Naja, momentan verwende ich pip 1.4.1 und es funktioniert, vielleicht solltest du pip upgraden.
Bunyk

Ja, hier ist die Antwort darauf: stackoverflow.com/a/14060138/816449 Es funktioniert in 1.2.1.post1.
Bunyk

1
Es scheint, dass dies nicht für jedes Paket funktioniert. ZB pip show -f nbconvertgibt Files: Cannot locate installed-files.txt.
Alex Coventry

Es funktioniert auch nicht für Pakete, die mit installiert wurden python setup.py develop.
Akaihola

4

Ich verwende virtualenv mit pip. Hier sind die Schritte, denen ich folge. Angenommen, ich arbeite in der dave_venvvirtuellen Umgebung.

$ 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.

1
Funktioniert in den meisten Fällen, aber nicht, wenn das Paket Befehlszeilenskripte installiert, die in usr / local / bin enden würden. Einige Pakete können auch mehrere Module installieren.
hwjp 31.10.12


2

Zwei Jahre später haben die meisten Pip-Instanzen gezeigt, dass jedoch nicht alle Pakete das installierte Programm files.txt haben, das vom Unterbefehl gelesen werden kann.

Eine Problemumgehung besteht darin, die Python-Shell zu starten und dies zu tun:

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

Wobei "eventlet" das Paket ist, das ich mit pip installiert habe.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.