Как мне перечислить файлы, связанные с пакетом Python, установленным с помощью pip или easy_install?


67

Я установил пакет Python, используя pip, который заменяет easy_install. Как получить список установленных файлов, связанных с этим пакетом?

По сути, я ищу пакет Python, эквивалентный

dpkg -L

или же

rpm -ql

Ответы:


89

Вы можете сделать это с помощью команды:

pip show -f <package>

У меня не работает pip: error: No command by the name pip show. (Использование
пипса

@Zitrax Ну, в настоящее время я использую pip 1.4.1, и он работает, возможно, вам следует обновить pip.
Bunyk

Да, вот ответ на это: stackoverflow.com/a/14060138/816449 Это работает в 1.2.1.post1.
Bunyk

1
Похоже, это не работает для каждого пакета. Например pip show -f nbconvertдает Files: Cannot locate installed-files.txt.
Алекс Ковентри

Это также не работает для пакетов, установленных с помощью python setup.py develop.
akaihola

4

Я использую virtualenv с pip, поэтому вот шаги, которым я следую. Предположим, я работаю в dave_venvвиртуальной среде.

$ 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
работает в большинстве случаев, но не в том случае, если пакет устанавливает какие-либо сценарии командной строки, которые могут оказаться в usr / local / bin .... также некоторые пакеты могут устанавливать несколько модулей ...
hwjp


2

Два года спустя большинство экземпляров pip показали, однако, что не у всех пакетов есть программа instal-files.txt, которую подкоманда должна прочитать.

Обходной путь - запустить оболочку Python и сделать это:

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

где "eventlet" - это пакет, который я установил с помощью pip.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.