如何从自制程序,分发,macports,pip卸载所有软件包?

Joh*_*y W 5 python homebrew pip macports easy-install

在这一年里,我对OS X上的编程越来越熟悉了,我想在最初的兴奋中,我安装了一大堆我不会使用的东西,污染了我的开发环境.

特别是,我发现使用pip,brew,port和easy_install,我为各种版本添加了各种软件包,甚至为不同的系统(Snow Leopard和Mountain Lion)添加了各种软件包.

所以现在,我想知道我是否有办法从头开始?我宁愿保留我的文件和程序,所以不要重新安装操作系统.如果有一种简单的方法来批量卸载四个中的每个包,那将极大地帮助.

谢谢!

Bur*_*lid 4

pipeasy_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
Run Code Online (Sandbox Code Playgroud)

对于 macports,请参阅卸载指南和相关警告。

对于brew,请参阅此超级用户问题

巧合的是,这应该告诉您此类问题属于superuser.com,而不是 stackoverflow - 这是用于编程相关查询的。

别担心——最终会有人把你的帖子移到那里。