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

Odpowiedzi:


89

Możesz to zrobić za pomocą polecenia:

pip show -f <package>

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.

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


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.