彻底卸载macOS上所有版本Python的详细指南

 更新时间:2025年10月23日 09:44:20   作者:飞仔FeiZai  
这篇文章主要为大家详细介绍了如何彻底卸载 macOS 上所有版本的 Python,包括系统自带的,Homebrew 安装的,手动安装的等,下面小编就和大家简单介绍一下吧

彻底卸载 macOS 上所有版本的 Python(包括系统自带的、Homebrew 安装的、手动安装的等)。

注意:macOS 自带的 Python 2.x 或 3.x 系统依赖它,请不要删除系统版本,否则可能导致 macOS 工具(如 xcode-selectbrewgit)异常。

卸载 macOS 上所有版本的 Python

查看已安装的 Python

先打开终端,执行:

which -a python
which -a python3
ls -l /Library/Frameworks/Python.framework/Versions/
ls -l /usr/local/bin/python*

这会显示所有 Python 路径,比如:

/usr/bin/python3              ← 系统自带(不要删)
/usr/local/bin/python3.11     ← 用户安装的(可删)
/Library/Frameworks/Python.framework/Versions/3.11

卸载通过官方安装包(.pkg/.dmg)安装的 Python

如果是从 python.org 安装的:

执行以下命令(以 3.11 为例):

sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.11
sudo rm -f /Applications/Python\ 3.11
sudo rm -f /usr/local/bin/python3.11
sudo rm -f /usr/local/bin/pip3.11
sudo rm -f /usr/local/bin/idle3.11

如果有多个版本,重复执行上面命令替换版本号(3.9、3.10、3.12 等)。

卸载 Homebrew 安装的 Python

如果曾用 brew install python 安装:

brew uninstall python
brew cleanup

然后确认是否删除干净:

which python3
brew list | grep python

删除用户环境中可能残留的配置

rm -rf ~/Library/Python
rm -rf ~/.local/lib/python*
rm -rf ~/.pyenv
rm -rf ~/.virtualenvs

如果用过 pyenv 安装 Python:

brew uninstall pyenv
rm -rf ~/.pyenv

检查系统是否还有 Python(保留系统版本)

python3 --version
which python3

正常情况下,系统还会有一个 /usr/bin/python3(macOS 自带的安全版本)。

(可选)清理 PATH 环境变量

编辑 shell 配置文件(根据用的 shell):

  • Bash → ~/.bash_profile
  • Zsh → ~/.zshrc

删除类似:

export PATH="/usr/local/opt/python@3.11/bin:$PATH"
export PATH="/Library/Frameworks/Python.framework/Versions/3.11/bin:$PATH"

保存后执行:

source ~/.zshrc

验证卸载结果

which -a python
which -a python3

输出应只剩下系统路径 /usr/bin/python3

macOS Python 一键卸载脚本

  • 自动检测并卸载所有非系统版本的 Python(包括官方安装包、Homebrew、Pyenv 等)
  • 不会删除 macOS 自带的系统 Python(安全)
  • 删除 pip 缓存、虚拟环境和 PATH 中的无效路径

使用方法

第一步:复制下面脚本到一个文件

在终端执行:

nano ~/uninstall_python.sh

然后把下面内容完整复制进去

保存退出(Ctrl + O → 回车 → Ctrl + X)。

脚本内容:

#!/bin/bash
echo "=============================="
echo "  🧹 macOS Python 一键卸载脚本"
echo "=============================="
echo

# 检查权限
if [ "$EUID" -ne 0 ]; then
  echo "⚠️  请使用 sudo 运行此脚本:sudo bash ~/uninstall_python.sh"
  exit
fi

# 卸载 Homebrew 安装的 Python
if command -v brew &>/dev/null; then
  echo "🍺 正在卸载 Homebrew Python..."
  brew uninstall --ignore-dependencies python python@3.9 python@3.10 python@3.11 python@3.12 2>/dev/null
  brew cleanup
fi

# 删除 python.org 安装包的 Python
echo "🧾 正在删除官方安装包版本..."
for v in 3.9 3.10 3.11 3.12 3.13; do
  sudo rm -rf /Library/Frameworks/Python.framework/Versions/$v
  sudo rm -rf "/Applications/Python ${v}"
  sudo rm -f /usr/local/bin/python${v}
  sudo rm -f /usr/local/bin/python${v%.*}
  sudo rm -f /usr/local/bin/pip${v}
  sudo rm -f /usr/local/bin/idle${v}
done

# 删除 pyenv
echo "🐍 正在删除 pyenv..."
brew uninstall pyenv 2>/dev/null
rm -rf ~/.pyenv

# 删除虚拟环境和 pip 缓存
echo "🧩 删除虚拟环境和缓存..."
rm -rf ~/.local/lib/python*
rm -rf ~/Library/Python
rm -rf ~/.virtualenvs
rm -rf ~/Library/Caches/pip

# 清理 PATH 中的 Python 相关路径
echo "🧠 清理 PATH 配置..."
for f in ~/.bash_profile ~/.bashrc ~/.zshrc; do
  [ -f "$f" ] && sed -i '' '/Python.framework/d' "$f"
  [ -f "$f" ] && sed -i '' '/pyenv/d' "$f"
  [ -f "$f" ] && sed -i '' '/python@/d' "$f"
done

# 验证剩余版本
echo
echo "✅ 卸载完成!当前系统保留版本:"
which -a python3 || echo "未检测到 Python"
python3 --version 2>/dev/null || echo "无系统 Python 可用"
echo
echo "💡 如果仍检测到非系统路径,可手动检查:"
echo "   ls -l /Library/Frameworks/Python.framework/Versions/"

第二步:运行脚本

执行:

sudo bash ~/uninstall_python.sh

第三步:验证是否干净

运行:

which -a python3

输出应只剩下:

/usr/bin/python3

到此这篇关于彻底卸载macOS上所有版本Python的详细指南的文章就介绍到这了,更多相关卸载macOS所有版本Python内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用Python脚本实现传递参数的三种方式分享

    利用Python脚本实现传递参数的三种方式分享

    使用python脚本传递参数在实际工作过程中还是比较常用。这篇文章为大家总结了三个常用的方式,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-12-12
  • Kmeans聚类算法python sklearn用户画像教程

    Kmeans聚类算法python sklearn用户画像教程

    这篇文章主要介绍了Kmeans聚类算法python sklearn用户画像教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Python math库 ln(x)运算的实现及原理

    Python math库 ln(x)运算的实现及原理

    这篇文章主要介绍了Python math库 ln(x)运算的实现及原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • TensorFlow深度学习之卷积神经网络CNN

    TensorFlow深度学习之卷积神经网络CNN

    这篇文章主要介绍了TensorFlow深度学习之卷积神经网络CNN
    2018-03-03
  • python开发简单的命令行工具简介

    python开发简单的命令行工具简介

    这篇文章主要介绍了python开发简单的命令行工具实例的相关资料,需要的朋友可以参考下
    2023-02-02
  • python opencv 简单阈值算法的实现

    python opencv 简单阈值算法的实现

    这篇文章主要介绍了python opencv 简单阈值算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python  连接字符串(join %)

    Python 连接字符串(join %)

    join 方法用于连接字符串数组,使用 % 连接多个变量下面看例子
    2008-09-09
  • Python 海象运算符( :=)的三种用法

    Python 海象运算符( :=)的三种用法

    这篇文章主要介绍了Python 海象运算符(:=)的三种用法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-06-06
  • python 监控logcat关键字功能

    python 监控logcat关键字功能

    这篇文章主要介绍了python 监控logcat关键字功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Python获取二维数组的行列数的2种方法

    Python获取二维数组的行列数的2种方法

    这篇文章主要介绍了Python获取二维数组的行列数的2种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02

最新评论