2012-07-30 94 views
5

在這一年中,我越來越熟悉OS X的編程,我想我最初的興奮之處在於我安裝了一大堆我不會使用並污染了我的開發環境的東西。如何從homebrew,distribute,macports,pip中卸載所有軟件包?

特別是,我發現使用pip,brew,port和easy_install,我爲各種版本甚至不同系統(Snow Leopard和Mountain Lion)添加了各種軟件包。

所以現在,我想知道是否有任何方式讓我從頭開始?我寧願保留我的文件和程序,所以不要重新安裝操作系統。如果有一種簡單的方法可以大量卸載這四個軟件包中的每一個軟件包,這將非常有幫助。

謝謝!

回答

4

pip and easy_install安裝大部分相同的東西(都是安裝大部分相同包的工具)。

首先獲得所有已安裝包的列表,你可能想保留一些:

$ pip freeze > packages.txt

這應該是一個相當大的文件,該文件列出了大部分(如果不是全部)已安裝的軟件包在你的默認系統python

編輯該文件並刪除要這些軟件包保持,所以它僅包含那些你想擺脫(並且沒有其他行或備註),然後調整下面的腳本:

#!/bin/bash 

for plugin in $(cat packages.txt); do 
    PLUGIN=$(echo "$plugin" | awk -F == '{print }') 
    echo "Uninstalling $PLUGIN..." 
    expect -c "spawn pip uninstall $PLUGIN 
    expect { 
     \"Proceed (y/n)?\" { 
      send \"y\r\n\" 
      expect { 
       exit 
      } 
     } 
    }"  
done 

對於macports,請參閱uninstalling guide及相關警告。

爲BREW,看this superuser question

巧合的是,這應該告訴你,這樣的問題屬於在superuser.com,而不是計算器 - 這是編程相關查詢。

別擔心 - 有人最終會在那裏移動你的線程。