2014-01-23 312 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