我想从我的Mac OS X 10.6.4中完全删除Python 2.7。通过恢复.bash_profile,我成功地从PATH变量中删除了条目。但我还想删除Python 2.7安装包安装的所有目录、文件、符号链接和条目。我从http://www.python.org/上得到了安装包。我需要删除哪些目录/文件/配置文件条目?哪里有名单吗?
当前回答
不需要卸载它或疯狂的符号链接,只需使用别名。我在升级到python 3.7.1时也遇到了同样的问题。 只需使用brew install python安装新的python版本,然后在.bash_profile中创建一个指向新python版本的别名;如下:alias python="/usr/local/bin/python3"然后保存并运行source ~/.bash_profile。 完成了。
其他回答
不要试图删除/ system /Library和/usr/bin中任何apple提供的系统Python,因为这可能会破坏整个操作系统。
注意:下面列出的步骤不影响apple提供的Python 2.7;它们只删除第三方Python框架,比如由python.org安装程序安装的那些框架。
完整的列表记录在这里。基本上,你所需要做的就是:
移除第三方Python 2.7框架 sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7 删除Python 2.7应用程序目录 sudo rm -rf "/Applications/Python 2.7" 删除/usr/local/bin中指向此Python版本的符号链接。看到他们在使用 ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7'
然后执行以下命令删除所有链接:
cd /usr/local/bin/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
如果有必要,编辑你的shell配置文件,删除PATH环境文件中添加的/Library/Frameworks/Python.framework/Versions/2.7。根据您使用的shell,以下任何文件都可能被修改: ~ /。bash_login ~ /。bash_profile、~ /。cshrc ~ /。简介~ /。~ / tcshrc。Zshrc和/或~/.zprofile。
这个可行:
cd /usr/local/bin/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
描述: 它列出所有链接,删除@字符,然后删除它们。
Onur Güzel在他的博客文章中提供了解决方案,“从OS X卸载Python包。
您应该在终端中输入以下命令:
sudo rm -rf /Library/Frameworks/Python.framework cd /usr/local/bin Ls -l。| grep '../Library/Frameworks/Python.framework' | awk '{print $9}' | xargs sudo rm ./Library/Frameworks/Python.framework' | awk '{print $9 sudo rm -rf "/Applications/Python x.y" 其中x.y命令是安装的Python版本。根据你的问题,应该是2.7。
用Onur的话说:
警告:此命令将删除包中安装的所有Python版本。系统提供的Python不受影响。
如果您从python.org安装了多个Python版本,则再次运行第四个命令,为要卸载的每个Python版本更改“x.y”。
如果您使用PKG安装程序安装它,您可以:
pkgutil --pkgs
或更好:
pkgutil --pkgs | grep org.python.Python
它将输出如下内容:
org.python.Python.PythonApplications-2.7
org.python.Python.PythonDocumentation-2.7
org.python.Python.PythonFramework-2.7
org.python.Python.PythonProfileChanges-2.7
org.python.Python.PythonUnixTools-2.7
现在可以选择要断开(删除)的包。
这是断开链接的文档:
--unlink package-id
Unlinks (removes) each file referenced by package-id. WARNING: This command makes no attempt to perform reference counting or dependency analy-
sis. It can easily remove files required by your system. It may include unexpected files due to package tainting. Use the --files command first
to double check.
在我的例子中,您将输入
pkgutil --unlink org.python.Python.PythonApplications-2.7
pkgutil --unlink org.python.Python.PythonDocumentation-2.7
pkgutil --unlink org.python.Python.PythonFramework-2.7
pkgutil --unlink org.python.Python.PythonProfileChanges-2.7
pkgutil --unlink org.python.Python.PythonUnixTools-2.7
或者只用一行:
pkgutil --pkgs | grep org.python.Python | xargs -L1 pkgutil -f --unlink
重要提示:—以Lion开头的unlink不再可用(截至2014年第一季度,包括Lion, Mountain Lion和Mavericks)。如果有人看到这个说明试图用lion来使用它,应该尝试用这篇文章说的来适应它:https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X
不需要卸载它或疯狂的符号链接,只需使用别名。我在升级到python 3.7.1时也遇到了同样的问题。 只需使用brew install python安装新的python版本,然后在.bash_profile中创建一个指向新python版本的别名;如下:alias python="/usr/local/bin/python3"然后保存并运行source ~/.bash_profile。 完成了。
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if