2014-01-23 294 views
15

我删除了一个pip软件包,其中rm -rf命令认为软件包将被删除。现在该软件包已被删除,但它仍然显示在pip list,我无法使用pip uninstall删除它,我也不能使用pip install --upgrade更新它。如何在手动删除pip软件包后删除它

我想完全删除它。任何人都可以告诉我如何?

EDIT

包是psycopg2。

如果我尝试卸载:

[email protected]:~$ pip uninstall psycopg2 
Can't uninstall 'psycopg2'. No files were found to uninstall. 

这是在psycopg2位于/usr/lib/python2.7/dist-packages目录和我rm -rf“从同一个目录D吧。使用PIP可以完全使用

pip uninstall <package> 

refrence link

pip uninstall很可能会失败,如果是使用python setup.py install,因为他们不落后元数据保留安装包卸载安装

TIA

+0

'的easy_install -m pip' –

+2

@PriyankPatel我想从PIP删除程序包!不安装pip – user3030969

+0

不幸的是,你需要手动创建删除的文件夹或从不同的安装中复制它,然后尝试'pip uninstall',你也可以尝试'pip install'再次包装,然后'pip uninstall' – Amyth

回答

25

包确定安装了哪些文件。

如果包的路径(.pth文件)仍然存在于站点包或dist-packages文件夹中,它们仍会显示在pip list中。你需要删除它们以及如果你正在删除使用rm -rf

+6

OP的文字“我无法通过'pip uninstall'删除它?”? – Alfe

+1

也完全错过了“它仍然出现在pip list”中的观点“ –

+2

是的dist-packages文件夹中有一个'psycopg2-2.4.5.egg-info'。删除它完全删除了包。 – user3030969

1

我敢肯定,有一个更好的方式来实现这一点,我想了解它,但我可以想到的解决方法是这个:

  1. 在不同的机器上安装软件包。
  2. rm'ed目录复制到原始机器(ssh,ftp,whatever)。
  3. pip uninstall包(应该再工作)。

但是,是的,我也很想听听有关这种情况的体面解决方案。

+0

omg这实际上是一种解决方法!但太糟糕了,我没有额外的机器。 – user3030969

+0

①你收到了什么样的错误,②你是什么目录,③我们在谈论什么包? – Alfe

+0

你知道,我们都有机器,我们在这里帮忙;-) – Alfe

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