彻底卸载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全面解析json数据并保存为csv文件

    Python全面解析json数据并保存为csv文件

    这篇文章主要介绍了Python全面解析json数据并保存为csv文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Django连接MQTT的示例代码

    Django连接MQTT的示例代码

    本文主要介绍了Django连接MQTT的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Python爬取股票信息,并可视化数据的示例

    Python爬取股票信息,并可视化数据的示例

    这篇文章主要介绍了Python爬取股票信息,并可视化数据的示例,帮助大家更好的理解和使用python爬虫,感兴趣的朋友可以了解下
    2020-09-09
  • 一文详细NumPy中np.empty的用法

    一文详细NumPy中np.empty的用法

    np.empty是NumPy库中一个强大但潜在危险的工具,本文主要介绍了一文详细NumPy中np.empty的用法,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • python使用百度或高德地图获取地理位置并转换

    python使用百度或高德地图获取地理位置并转换

    用python处理地理位置是非常常见的需求,下面这篇文章主要给大家介绍了关于python使用百度或高德地图获取地理位置并转换的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • python批量解压zip文件的方法

    python批量解压zip文件的方法

    这篇文章主要介绍了python批量解压zip文件的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Pytorch出现错误Attribute Error:module ‘torch‘ has no attribute '_six'解决

    Pytorch出现错误Attribute Error:module ‘torch‘ has no attrib

    这篇文章主要给大家介绍了关于Pytorch出现错误Attribute Error:module ‘torch‘ has no attribute '_six'解决的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • Python学习之直方图均衡化原理详解

    Python学习之直方图均衡化原理详解

    直方图均衡化是以累计分布函数为核心,将原始图像灰度直方图从比较集中的某个灰度区间,非线性地映射为在全部灰度范围内的较均匀分布,从而增强对比度。本文将为大家详细讲解直方图均衡化的原理,需要的可以参考一下
    2022-03-03
  • Python面向对象特殊属性及方法解析

    Python面向对象特殊属性及方法解析

    这篇文章主要介绍了Python面向对象特殊属性及方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Python FastApi结合异步执行方式

    Python FastApi结合异步执行方式

    这篇文章主要介绍了Python FastApi结合异步执行方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论