树莓派3 Stretch下Python 3.5.3升级后别名重启失效求助
解决树莓派Stretch系统Python别名重启后失效的问题
这个问题我折腾树莓派的时候也碰到过!核心原因是你之前设置的别名只在当前终端会话生效,重启系统后,bash会重新加载默认配置文件,临时别名自然就消失了。下面给你几个持久化设置的靠谱方法,按需选择即可:
方法一:修改用户级配置文件(仅对当前用户生效)
这是最常用的方式,不会影响其他用户:
- 打开用户的bash配置文件:
nano ~/.bashrc - 滚动到文件末尾,添加两行别名配置(先确认Python3.7的路径,用
which python3.7可查到,编译安装的话一般是/usr/local/bin/python3.7):alias python='/usr/local/bin/python3.7' alias python3='/usr/local/bin/python3.7' - 保存并退出:按下
Ctrl+O,回车确认保存,再按Ctrl+X退出编辑器 - 让配置立即生效:
source ~/.bashrc - 现在测试版本:
python --version和python3 --version应该都显示3.7.0,重启系统后再验证一次就没问题了
方法二:修改系统级配置文件(对所有用户生效)
如果需要让所有登录树莓派的用户都默认用Python3.7,就用这个方法(需要sudo权限):
- 打开系统bash配置文件:
sudo nano /etc/bash.bashrc - 同样在文件末尾添加那两行别名配置
- 保存退出后,执行
source /etc/bash.bashrc让配置生效 - 重启系统验证即可
方法三:用系统alternatives管理(更规范的方式,推荐)
直接改别名偶尔会和系统自带工具冲突,update-alternatives是系统推荐的默认程序管理方式:
- 把Python3.7添加到alternatives列表:
这里的数字sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.7 11是优先级,以后装更高版本Python时,设置更大的数字就能自动成为默认 - 配置默认Python版本:
执行sudo update-alternatives --config python,终端会列出可选版本,输入对应Python3.7的编号回车即可;同理执行sudo update-alternatives --config python3设置python3的默认版本 - 测试版本,重启后验证
重要提醒
千万别随便删除系统自带的Python2.7和3.5!树莓派Stretch的很多系统工具(比如apt)都依赖它们,强制删除会导致系统崩溃。用别名或者alternatives切换默认版本才是安全的做法。
内容的提问来源于stack exchange,提问作者Anant Narayan
相关产品推荐
相关产品推荐

