Ubuntu系统下如何安全删除Python3.4.6,仅保留Anaconda Python3.6
嘿,我懂这种多个Python版本搅在一起的糟心感——系统自带的Python3.4.6跟Anaconda的3.6抢着被调用,跑脚本总出问题对吧?先别急着硬删系统自带的Python,很多Ubuntu核心工具都依赖它,瞎删容易搞崩系统。咱们一步步来,先把Anaconda的Python设为默认,再安全处理旧版本:
第一步:让Anaconda Python成为系统默认
先解决根本问题:确保运行脚本时优先用Anaconda的3.6,这样即使旧版本存在,也不会干扰你。
- 打开终端,编辑你的bash配置文件(如果用zsh就改
~/.zshrc):nano ~/.bashrc - 在文件末尾添加Anaconda的路径到环境变量最前面(把
your-username换成你的实际用户名,Anaconda默认安装路径一般是/home/your-username/anaconda3):export PATH="/home/your-username/anaconda3/bin:$PATH" - 按
Ctrl+O保存,Ctrl+X退出,然后刷新配置让改动生效:source ~/.bashrc - 验证默认版本:
这两个命令都应该显示Python3.6,说明Anaconda已经是默认的Python了。python --version python3 --version
第二步:安全处理Python3.4.6
Ubuntu自带的Python3.4是很多系统组件的依赖(比如apt、桌面环境),绝对不要直接用apt remove python3.4强制删除,否则可能导致系统崩溃、包管理失效等严重问题。推荐两种安全的处理方式:
方式一:仅删除Python3.4的可执行入口(推荐)
如果只是不想让系统调用Python3.4,但保留系统依赖的库文件:
- 先找到Python3.4可执行文件的位置:
通常输出是which python3.4/usr/bin/python3.4 - 先备份这个文件(以防之后需要恢复):
sudo cp /usr/bin/python3.4 /usr/bin/python3.4.bak - 然后删除可执行文件:
这样系统就找不到Python3.4的调用入口了,但依赖它的系统工具如果是调用底层库,依然能正常运行。sudo rm /usr/bin/python3.4
方式二:用update-alternatives灵活管理版本
如果之后可能需要切换回旧版本,或者想更规范地管理Python版本:
- 先把Anaconda的Python3.6注册到系统替代工具里(优先级设为100,越高越优先):
sudo update-alternatives --install /usr/bin/python3 python3 /home/your-username/anaconda3/bin/python3 100 - 再注册系统的Python3.4(优先级设为50,比Anaconda低):
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.4 50 - 切换默认版本:
这时会弹出选项列表,输入Anaconda对应的序号按回车确认即可。sudo update-alternatives --config python3 - 如果之后确实完全不需要Python3.4了,可以删除它的替代项:
sudo update-alternatives --remove python3 /usr/bin/python3.4
最后验证
完成以上操作后,再运行你的脚本,应该就只会调用Anaconda的Python3.6了。如果还有问题,检查一下脚本开头的shebang行(就是第一行),确保写的是#!/usr/bin/env python或者#!/usr/bin/env python3,这样会调用系统默认的Python版本,而不是硬编码指定python3.4。
内容的提问来源于stack exchange,提问作者Dmitry_Fleisher
相关产品推荐
相关产品推荐

