Jak wyświetlić listę plików powiązanych z pakietem Python zainstalowanym przy użyciu pip lub easy_install?

67

Zainstalowałem pakiet Python za pomocą pip, który jest zamiennikiem easy_install. Jak uzyskać listę zainstalowanych plików powiązanych z tym pakietem?

Zasadniczo szukam pakietu Python odpowiadającego

dpkg -L

lub

rpm -ql
Lorin Hochstein
źródło

Odpowiedzi:

89

Możesz to zrobić za pomocą polecenia:

pip show -f <package>
Bunyk
źródło
Nie działa dla mnie pip: error: No command by the name pip show. (Za pomocą pip 1.1)
Zitrax
@ Zitrax Cóż, obecnie używam pip 1.4.1 i działa, być może powinieneś zaktualizować pip.
Bunyk
Tak, oto odpowiedź na to: stackoverflow.com/a/14060138/816449 Działa w 1.2.1.post1.
Bunyk
1
Wygląda na to, że to nie działa dla każdego pakietu. Np . pip show -f nbconvertDaje Files: Cannot locate installed-files.txt.
Alex Coventry
Nie działa również w przypadku pakietów instalowanych przy użyciu python setup.py develop.
akaihola,
4

Używam virtualenv z pipem, więc oto kroki, które wykonuję. Załóżmy, że pracuję w dave_venvśrodowisku wirtualnym.

$ 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
źródło
1
działa w większości przypadków, ale nie, jeśli pakiet zainstaluje jakieś skrypty wiersza poleceń, które skończyłyby w usr / local / bin .... również niektóre pakiety mogą instalować wiele modułów ...
hwjp
@ hwjp Czy znasz odpowiedź na pytanie: Znajdź, który pakiet python jest właścicielem pliku binarnego ?
Tom Hale
2

Dwa lata później większość instancji pip pokazuje jednak, że nie wszystkie pakiety mają zainstalowany program-files.txt, który można odczytać z podkomendy.

Obejściem tego problemu jest uruchomienie powłoki Pythona i wykonanie tego:

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

gdzie „eventlet” to pakiet, który zainstalowałem z pipem.

kojot
źródło