说起来都来气,装个软件,双击exe,“下一步、下一步、完成”,多么丝滑流畅。可到了你想跟它说拜拜的时候,尤其是这 python,哎哟喂,那可真是十八弯的盘山公路,一不小心就掉坑里。别以为去控制面板点个“卸载”就万事大吉了,那往往只是个开始,真正麻烦的是那些犄角旮旯里留下的“遗产”,搞不好就让你新装的版本、新搭的环境各种犯病,找不到库啊、版本冲突啊,简直是噩梦。所以啊,今天哥们儿就来跟你掰扯掰扯,这 python 怎么卸载,到底得怎么才能弄得彻彻底底,让它不带走一片云彩。
咱们先从大多数人用的 Windows 说起吧。
Windows 卸载 python,第一步嘛,确实是去“控制面板”或者 Windows 10/11 的“设置”里找“应用”、“程序和功能”。找到你安装的那个版本的 Python(比如 Python 3.9.x 64-bit),点“卸载”。这是官方推荐的路子,看着挺正规。但信我,这只是个幌子,或者说,它只干了一半的活儿,甚至连一半都不到!点了卸载,它会跑一会儿,告诉你“卸载完成了”,你心想“这下总该干净了吧?”图样图森破!
卸载完主程序,接下来才是体力活儿和眼力活儿。你得手动去“抠干净”那些残留文件。首先,看看你当初把 Python 装哪儿了。有些人喜欢装在默认位置,比如 C:\Users\你的用户名\AppData\Local\Programs\Python
,有些人可能直接丢在 C:\PythonXX
或者 C:\Program Files\PythonXX
。不管在哪儿,找到那个文件夹!通常名字会带有 Python 和版本号,比如 Python39
。找到它,确认里面确实是你打算卸载的那个版本的 Python 的东西(executable files, Lib folder, etc.),然后…… Shift+Delete!没错,直接永久删除,别走回收站了,给它点尊严(误)。要是删不掉,可能是哪个程序还在占用,重启电脑再试试。
但这还没完!Python 这家伙,还喜欢在你的用户目录里留下点私人定制的东西。打开你的用户目录,也就是 C:\Users\你的用户名
。这里面有些隐藏文件夹得注意。尤其是 AppData
目录(如果你看不到,得在文件管理器里设置显示隐藏文件和文件夹)。钻进 AppData
,再进 Roaming
,再进 Local
。在这里面找找有没有跟 Python、pip、或者你安装的某些 Python 库相关的文件夹。比如 pip
的缓存目录可能就在 AppData\Local\pip
,还有些其他的像 Python
命名的文件夹 (AppData\Roaming\Python
),里面可能有配置文件或者脚本啥的。挨个检查,觉得是属于你正要卸载的那个 Python 版本的,或者确定没用了的,统统删掉!别手软!这个过程就像是在阁楼里翻箱倒柜,总能找出点你都忘了它存在的旧物件儿。
接着,这个最最最要命的来了:环境变量!Windows 的环境变量就像是系统找东西的“藏宝图”,你的 Python 可执行文件路径、Scripts 目录路径,都可能被写在里面,尤其是那个叫 Path
的变量,一串长长的路径,看得人眼花缭乱。右键“此电脑”->“属性”->“高级系统设置”->“环境变量”。在“用户变量”和“系统变量”里都看看,找到 Path
变量,点编辑。仔细看里面的每一条路径,找到那些指向你刚才删掉的那个 Python 安装目录下的 Scripts
文件夹或者 Python 主程序文件夹的路径。找到一条,删一条!删一条!别删错了其他程序的路径,那可就麻烦大了。可能还有其他跟 Python 相关的自定义变量,比如 PYTHONPATH
什么的,如果确定是你卸载的 Python 相关的,也一并删掉。清理环境变量这一步,是真的需要小心再小心,手抖党请深呼吸。
注册表呢?理论上讲,Python 安装的时候也会在注册表里写东西。但手动去 regedit
里搜“Python”然后删……说实话,风险挺高的,不建议新手这么干。除非你非常清楚你在干什么。很多时候,上面那几步做到了,注册表的残留影响已经不大了。如果你实在是个强迫症,或者懂行,可以试试,但删错导致系统出问题,那可别怪我没提醒你。我个人经验是,非必要,不动注册表。
好了,Windows 这边基本就是这些步骤了。感觉是不是比想象中要复杂得多?没错,就是这么折腾人。
再说说 macOS 和 Linux,这哥俩在包管理方面做得通常比 Windows 要“规矩”一些,所以通过包管理器安装的 Python,卸载起来就相对省心了。
如果你是在 macOS 上用 Homebrew 装的 Python,那简直是福音!卸载命令简单粗暴:打开终端,敲 brew uninstall python@3.x
(3.x
换成你要卸载的版本号)。Homebrew 会帮你处理大部分事情,关联的文件、link什么的,它都能帮你清理得干干净净。这是我最喜欢的卸载方式,没有之一,因为它省心啊!
但如果你是在 macOS 上用官方的 pkg 安装包装的,或者通过其他方式装的,那可能就得回到手动模式了。官方安装包有时候会把东西放在 /Library/Frameworks/Python.framework/Versions/
下面,你得找到对应的版本文件夹,然后用 sudo rm -rf 文件夹名
命令去删。记住要用 sudo
,因为这是系统目录。同样,用户目录下的 ~/.pip
、可能在 ~/.bash_profile
或 ~/.zshrc
里的环境变量,也得手动去清理。
Linux 上,如果你是用系统的包管理器安装的 Python(比如 Debian/Ubuntu 的 apt
,Fedora/CentOS 的 yum
或 dnf
,Arch Linux 的 pacman
),那恭喜你,这是最“标准”的卸载方式。打开终端,输入 sudo apt remove python3.x
(Ubuntu/Debian) 或者 sudo yum remove python3.x
(CentOS/Fedora)。如果你想连配置文件一起删,可以加上 --purge
参数,比如 sudo apt remove python3.x --purge
。包管理器会帮你处理依赖关系,相当省事儿。
但是,如果你是从源码编译安装的 Python(这个操作本身就有点“硬核”),那卸载起来也相当“硬核”。如果你还留着当初编译的源码目录,可以进去看看有没有 make uninstall
这个目标。有的话,sudo make uninstall
走起。如果当初就没有提供这个目标,或者你源码目录早删了……那抱歉,你得多费点劲儿了。你得回想或者查找当初安装时指定的 --prefix
目录(比如 /usr/local/
),然后在这个目录下找到所有属于你那个 Python 版本的目录和文件(比如 bin
目录下的 python3.x 可执行文件、lib
目录下的 Python 库文件等等),然后用 sudo rm -rf
命令一个一个或者批量地删除。这需要你对 Linux 的文件系统结构比较熟悉,而且得非常小心,别误删了系统自带的 Python 或者其他重要文件。跟 macOS 类似,Linux 用户目录下的 ~/.pip
、~/.conda
(如果装了 Anaconda/Miniconda)、以及 .bashrc
、.zshrc
等 shell 配置文件里的环境变量,也别忘了清理。
说到 Anaconda 或 Miniconda,它们是另一种形式的 Python 分发版和环境管理器。卸载它们跟卸载“原生”Python 又不太一样。通常 Anaconda 会提供一个卸载脚本(比如 Windows 上叫 Uninstall-Anaconda3.exe
,macOS/Linux 上可能在安装目录下有个 uninstall
脚本)。运行这个脚本,然后按照提示操作。即使运行了脚本,也可能需要手动删除安装目录和用户目录下的残留(比如 ~/.conda
、~/.condarc
文件)。卸载 Anaconda/Miniconda 后,最重要的也是清理环境变量,把 Path
里指向 Anaconda/Miniconda 目录的那些路径删掉。
最后,别忘了虚拟环境。无论是 venv
、virtualenv
还是 Conda 创建的虚拟环境,它们通常是独立于 Python 本体安装的,就存在于你项目文件夹里的一个子目录(比如叫 venv
或者 .venv
)。卸载 Python 本身并不会自动删除这些虚拟环境。如果你确定这些虚拟环境已经没用了,直接把它们所在的文件夹整个删掉就行了。这个相对简单,就像扔个垃圾桶一样。
折腾了这么久,终于算是把这讨厌的 Python 旧版本“抠干净”了。卸载这事儿,看似小,实则大。一个干净的环境,是后续编程学习、项目开发的基础。如果残留太多,各种奇奇怪怪的问题会让你抓狂,浪费大量时间去排查。所以,下次再遇到需要卸载 Python 的时候,别光顾着点那个简单的“卸载”按钮了,记得去文件系统里、环境变量里、甚至注册表里(小心!)把那些“漏网之鱼”找出来,彻底清理掉。虽然麻烦点,但为了将来少踩坑,这波操作是绝对值得的。这就像给你的系统做个大扫除,累是累点,但完了看着那清爽的环境,心里那个舒坦啊,没法说!好了,不说了,我去把我的环境变量再检查一遍……感觉刚刚好像还看到个可疑的路径没删干净……
评论(0)