如何列出与使用pip或easy_install安装的Python软件包相关的文件?


67

我已经使用pip安装了Python软件包,该软件包可替代easy_install。如何获得与此软件包相关联的已安装文件的列表?

基本上,我正在寻找与

dpkg -L

要么

rpm -ql

Answers:


89

您可以使用以下命令执行此操作:

pip show -f <package>

不适用于我pip: error: No command by the name pip show。(使用点子1.1)
Zitrax

@Zitrax好吧,目前我正在使用pip 1.4.1,它可以工作,可能是您应该升级pip。
Bunyk

是的,这里是答案:stackoverflow.com/a/14060138/816449 它在1.2.1.post1中起作用。
Bunyk

1
看来这并不适用于所有包装。例如pip show -f nbconvertFiles: 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中),则不会
起作用


2

两年后,大多数pip实例都显示了,但是,并非所有软件包都具有install-files.txt程序,以供子命令读取。

一种解决方法是启动python shell并执行以下操作:

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

其中“ eventlet”是我通过pip安装的软件包。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.