在这一年中,我对OS X的编程越来越熟悉了,我想在最初的兴奋中,我安装了一大堆我不会使用的东西,污染了我的开发环境。
特别是,我发现使用pip,brew,port和easy_install,我为各种版本添加了各种软件包,甚至为不同的系统(Snow Leopard和Mountain Lion)添加了各种软件包。
所以现在,我想知道我是否有办法从头开始?我宁愿保留我的文件和程序,所以不要重新安装操作系统。如果有一种简单的方法来批量卸载四个中的每一个,那将极大地帮助。
谢谢!
答案 0 :(得分:4)
pip
和easy_install
安装大致相同的东西(两者都是安装大多数相同软件包的工具)。
首先获取所有已安装软件包的列表,因为您可能希望保留一些:
$ pip freeze > packages.txt
这应该是一个相当大的文件,列出了您在默认系统python 中安装的大多数(如果不是全部)软件包。
编辑该文件并删除您想要保留的软件包,因此它只包含您想要删除的软件包(并且没有其他行或注释),然后调整以下脚本: / p>
#!/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,而不是堆栈溢出 - 这是编程相关的查询。
别担心 - 有人最终会把你的线程移到那里。
答案 1 :(得分: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 Frozen> args
答案 2 :(得分:0)
在MacOS上,您可以使用:
brew list | xargs brew uninstall