Python的easy_install
使安裝新包很是方便。 可是,據我所知,它沒有實現依賴項管理器的其餘常見功能 - 列出和刪除已安裝的軟件包。 python
找出已安裝的內容的最佳方法是什麼,以及刪除已安裝軟件包的首選方法是什麼? 若是我手動刪除包,是否須要更新任何文件(例如經過rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg
或相似文件)? django
網上有幾個消息來源暗示經過使用-m選項從新安裝軟件包而後只刪除lib /中的.egg文件和bin /中的二進制文件。 此外,有關此setuptools問題的討論能夠在python bug跟蹤器上找到setuptools issue 21 。 spa
編輯:添加了python bugtracker的連接。 rest
若是問題對你來講是一個嚴重的麻煩,你可能會考慮virtualenv 。 它容許您建立一個封裝python庫的環境。 您能夠在那裏而不是在全局site-packages目錄中安裝軟件包。 您在該環境中運行的任何腳本均可以訪問這些包(也能夠選擇您的全局包)。 在評估我不肯定我須要/須要全局安裝的軟件包時,我常常使用它。 若是您決定不須要該軟件包,那麼只需將虛擬環境吹走便可。 它很是易於使用。 製做一個新的環境: code
$>virtualenv /path/to/your/new/ENV
virtual_envt會在新環境中爲您安裝setuptools,所以您能夠執行如下操做: ip
$>ENV/bin/easy_install
您甚至能夠建立本身的boostrap腳原本設置新環境。 所以,使用一個命令,您能夠建立一個新的虛擬環境,例如,默認安裝python 2.6,psycopg2和django(若是須要,您能夠安裝特定於env的版本的python)。 get
要卸載.egg
你須要rm -rf
egg(它多是一個目錄)並從site-packages/easy-install.pth
刪除匹配的行it
對我來講只刪除這個文件:easy-install.pth working,rest pip install django == 1.3.7 pip
嘗試 io
$ easy_install -m [PACKAGE]
而後
$ rm -rf .../python2.X/site-packages/[PACKAGE].egg