2012-07-30 95 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,而不是计算器 - 这是编程相关查询。

别担心 - 有人最终会在那里移动你的线程。