我搞乱了我的 Python 发行版中的一些核心包,可能是由于一些失败的easy_install
命令。在 Ubuntu 中,有没有办法删除站点的 Python 安装并将其重新安装到 Ubuntu 包管理器中定义的形式?
我正在运行 Ubuntu 10.04。
答案1
为了将来参考,我建议安装虚拟环境和虚拟环境包装器以防止此类事情再次发生。Virtaulenv 可让您为每个项目保留单独的、不同的 Python 安装,而 Virtualenvwrapper 可让您轻松使用它们。然后您造成的任何混乱都仅限于一个项目。
对于您当前的问题,使用 pip 安装的任何东西都可以用 pip 的命令删除uninstall
。以下 shell 脚本来自 pastebin(我没有测试过,只是为了给你警告,并且不承担任何可能造成的损失或损害的责任,尽管我看不出它有什么有害之处)应该删除全部同时安装 pip 包:
#!/bin/bash
#if [ "$#" -ne 1 ]; then
# echo "Usage: $0 <py pkg name using \$(pip freeze -l)>"
# exit
#fi
for plugin in $(pip freeze -l); do
PLUGIN=$(echo "$plugin" | awk -F == '{print $1}')
echo "Uninstalling $PLUGIN..."
expect -c "spawn pip uninstall $PLUGIN
expect {
\"Proceed (y/n)?\" {
send \"y\r\n\"
expect {
exit
}
}
}"
done
遗憾的是,我认为没有一种简单的方法可以删除使用 easy-install 安装的软件包,因为它不会跟踪您安装的内容,这也是开发 pip 的部分原因。
答案2
您安装的内容easy_install
应该全部位于 中/usr/local/lib/python2.7/dist-packages/
。因此,您可以删除其中的所有内容。从包中安装的任何内容都不会位于其中,因此可以安全删除。