我想从我的 Mac OS X 10.6.4 中完全删除 Python 2.7。我设法PATH
通过还原我的.bash_profile
. 但我还想删除由 Python 2.7 安装包安装的所有目录、文件、符号链接和条目。我从http://www.python.org/获得了安装包。我需要删除哪些目录/文件/配置文件条目?某处有清单吗?
16 回答
不要试图删除任何 Apple 提供的系统 Python,它们位于/System/Library
和中/usr/bin
,因为这可能会破坏您的整个操作系统。
注意: 下面列出的步骤不影响 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 配置文件以删除添加
/Library/Frameworks/Python.framework/Versions/2.7
到您的PATH
环境文件。根据您使用的 shell,可能已修改以下任何文件:~/.bash_login
、~/.bash_profile
、~/.cshrc
、~/.profile
、~/.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
描述:它列出所有链接,删除@
字符,然后删除它们。
创建指向最新版本的符号链接
ln -s -f /usr/local/bin/python3.8 /usr/local/bin/python
关闭并打开一个新终端
并尝试
python --version
如果您使用 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
重要提示:--unlink 从 Lion 开始不再可用(截至 2014 年第一季度,包括 Lion、Mountain Lion 和 Mavericks)。如果有人按照此说明尝试将其与 lion 一起使用,则应尝试根据此帖子的内容对其进行调整:https ://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X
尝试卸载 Python
brew uninstall python
不会删除本机安装的 Python,而是使用brew
.
无需卸载它或使用符号链接发疯,只需使用alias
. 升级到 python 3.7.1 时我遇到了同样的问题。
只需在创建指向新 python 版本的别名时使用brew install python
then安装新的 python 版本;.bash_profile
像这样:alias python="/usr/local/bin/python3"
然后保存并运行source ~/.bash_profile
.
完毕。
关于删除符号链接,我发现这很有用。
find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete
从 python 2.7.16 升级到 python 3.9 时我遇到了同样的问题只需使用 brew install python 安装新的 python 版本或下载并安装你的操作系统然后
-
sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
-
sudo rm -rf "/Applications/Python 2.7"
-
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7'
然后检查->
python --version
在您
.bash_profile
创建一个指向新 python 版本的别名;像这样:alias python="/usr/local/bin/python3"
然后保存并运行 source
~/.bash_profile
。检查->
python --version
现在一切就绪
无需卸载旧的 python 版本。
只需安装新版本说python-3.3.2-macosx10.6.dmg并将python的软链接更改为新安装的python3.3
使用以下命令检查默认 python 和 python3.3 的路径
“哪个python”和“哪个python3.3”
然后删除现有的python软链接,指向python3.3
注意:如果您使用 Homebrew 安装 Python,则可以按照以下步骤操作,否则请寻找其他解决方案!
要卸载使用 Homebrew 安装的 Python 2.7.10,只需发出以下命令:
brew uninstall python
同样,如果你想卸载 Python 3(你使用 Homebrew 安装的):
brew uninstall --force python3
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
sudo rm -rf "/Applications/Python x.y"
其中命令 xy 是安装的 Python 版本。根据你的问题,应该是2.7。
用 Onur 的话来说:
警告:此命令将删除随包安装的所有 Python 版本。系统提供的 Python 不会受到影响。
如果您从 python.org 安装了超过 1 个 Python 版本,则再次运行第四个命令,为要卸载的每个 Python 版本更改“xy”。
这就是在 Mac OS 上对我有用的方法
从https://www.python.org/downloads/mac-osx/下载最新的 Python 3.x
通过单击安装程序时显示的安装步骤来安装 Python 3.x
ln -s -f /usr/local/bin/python3.9 /usr/local/bin/python
ln -s -f /usr/local/bin/pip3 /usr/local/bin/pip
打开一个新的终端窗口并验证
python --version
. 应该说 3.x
对于第 3 步,通过检查输出来确认现有 python 可执行文件的路径which python
python3
在安装了以下内容的 MacOS 上brew
:
sudo ln -s -f /opt/homebrew/bin/python3 /usr/local/bin/python
sudo ln -s -f /opt/homebrew/bin/pip3 /usr/local/bin/pip
重新打开终端
python --version
pip --version
如果您正在考虑手动删除 Apple 的默认 Python 2.7,我建议您挂起并注意:看起来 Apple 很快就会为您做到这一点:
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
Apple 将在 OSX 10.16 中删除 Python 2.7
事实上,根据The Mac Observer的说法,如果你什么都不做,在 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 可能会破坏您的系统。
在这里,您将看到所有预装的 python 版本,包括 2.3、2.4 甚至 2.7。
/System/Library/Frameworks/Python.framework/Versions
但是,即使使用 sudo 我不这么认为,您也可以删除它们。你会得到一个错误 -Operation not permitted