5

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

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

所以现在,我想知道是否有什么方法可以让我从头开始?我更愿意保留我的文件和程序,因此无需重新安装操作系统。如果有一种简单的方法可以为这四个中的每一个批量卸载软件包,那将有很大帮助。

谢谢!

4

3 回答 3

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

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

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

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

不用担心 - 最终会有人将您的线程移到那里。

于 2012-07-30T13:15:06.757 回答
0

在 Linux 上,我使用:

$ pip freeze > args | pip uninstall -y -r args | rm args

在 Windows 上,我使用:

$ pip freeze > args | pip uninstall -y -r args | del args

-y标记自动确认删除,因此它不会提示您是否要删除该包 -r告诉使用需求文件,在我的示例中文件的名称是args由 pip freeze > args 创建的

于 2019-04-05T20:18:29.767 回答
0

在 MacOS 上,您可以使用:

brew list | xargs brew uninstall
于 2020-02-22T06:36:57.823 回答