如何在手动删除pip包后删除它

时间:2014-01-23 11:32:47

标签: python pip

我删除了一个带有rm -rf命令的pip包,认为该包将被删除。现在该软件包已被删除但仍显示在pip list中,我无法使用pip uninstall将其删除,也无法使用pip install --upgrade进行更新。

我想完全删除它。谁能告诉我怎么样?

修改

包是psycopg2。

如果我尝试卸载:

hammad@hammad-P5QL-E:~$ pip uninstall psycopg2
Can't uninstall 'psycopg2'. No files were found to uninstall.

这是psycopg2所在的目录/usr/lib/python2.7/dist-packages,我rm -rf来自同一目录。

TIA

4 个答案:

答案 0 :(得分:61)

使用pip安装的软件包可以使用

完全卸载
pip uninstall <package>

refrence link

如果使用pip uninstall安装软件包,

python setup.py install可能会失败,因为它们不会留下元数据来确定安装了哪些文件。

如果您的站点包或dist-packages文件夹中的路径(.pth文件)仍存在,则

包仍显示在pip list中。如果您使用rm -rf

删除,则还需要删除它们

答案 1 :(得分:7)

  1. 转到pip正在安装软件包的site-packages目录。
  2. 您应该看到与要卸载的包对应的egg文件。删除egg文件(或者,为了安全起见,将其移动到其他目录)。
  3. 对要删除的包的包文件(在本例中为psycopg2目录)执行相同操作。
  4. pip install YOUR-PACKAGE

答案 2 :(得分:1)

我确信有更好的方法可以实现这一目标,我想了解一下,但我能想到的解决方法是:

  1. 将软件包安装在其他计算机上。
  2. rm'ed目录复制到原始计算机(ssh,ftp,无论如何)。
  3. pip uninstall包(然后应该再次使用)。
  4. 但是,是的,我也很想知道这种情况的合适解决方案。

答案 3 :(得分:0)

我在尝试使用自己的Python库时遇到了相同的问题,我发现如果{strong>您当前的目录包含{{ 1}}文件夹。并且pip freeze会给您同样的错误消息。

  1. 确保您的当前目录没有任何lib.egg-info文件夹
  2. 选中pip uninstall <lib>以查看有关库位置的详细信息,以便您可以手动删除文件。