我想从我的Mac OS X 10.6.4中完全删除Python 2.7。通过恢复.bash_profile,我成功地从PATH变量中删除了条目。但我还想删除Python 2.7安装包安装的所有目录、文件、符号链接和条目。我从http://www.python.org/上得到了安装包。我需要删除哪些目录/文件/配置文件条目?哪里有名单吗?


当前回答

如果你正在考虑手动删除苹果默认的Python 2.7,我建议你先搁置,然后什么都不要做:看起来苹果很快就会为你做这件事:

Python 2.7在OSX 10.15 Catalina中已弃用

Python 2.7—以及Ruby和Perl—在Catalina中已弃用(跳到“脚本语言运行时”>“弃用”一节)

https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_release_notes

苹果将在OSX 10.16中删除Python 2.7

事实上,如果你什么都不做,根据Mac观察者,到OSX 10.16版本,Python 2.7将从你的系统中消失:

https://www.macobserver.com/analysis/macos-catalina-deprecates-unix-scripting-languages/

鉴于这一发现,我建议最好的做法是什么都不做,等待苹果为你抹掉它。由于Apple即将为您删除它,因此似乎不值得冒险修补您的Python环境。

注意:我看到这个问题专门与OSX v 10.6.4相关,但似乎这个问题已经成为所有有兴趣从他们的系统中删除Python 2.7的OSX人员的一个关键点,无论他们运行的是什么版本。

其他回答

尝试删除某些python库时要小心,Mac OS需要python! 不要删除以下文件夹中的任何Python版本:

/usr/bin
system/Library

这些Python 2.7版本由Apple安装,并用于Mac OS和其他软件。从这些目录中删除Python可能会破坏系统。

关于删除符号链接,我发现这很有用。

find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete

在这里你会看到所有预安装的python版本,包括2.3、2.4甚至2.7。

/System/Library/Frameworks/Python.framework/versions

但是,即使有sudo,我不这么认为,你将能够删除他们。您将得到一个错误-操作不允许

如果您使用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

创建到最新版本的符号链接

 ln -s -f /usr/local/bin/python3.8 /usr/local/bin/python

关闭并打开一个新终端

并尝试

 python --version