树莓派Python脚本调用版本与安装版本不符,如何指定使用3.8.5运行?
解决方案
方法一:仅调整脚本调用逻辑(不修改全局配置,更推荐)
不会影响系统自带依赖Python 3.7.3的工具,适合大部分场景:
- 给
.py脚本首行添加指定解释器的shebang标记:#!/usr/bin/env python,后续直接执行脚本时就会自动调用对应3.8.5版本的Python - 手动运行脚本时显式指定解释器:使用
python 你的脚本名.py命令运行,不要使用默认的python3 你的脚本名.py - 使用虚拟环境隔离:基于已有的Python 3.8.5创建专属虚拟环境,激活后所有脚本都会自动调用对应版本:
- 创建虚拟环境:
python -m venv 自定义虚拟环境名称 - 激活虚拟环境:
source 自定义虚拟环境名称/bin/activate - 终端前缀出现虚拟环境名称标识后,所有Python相关操作都会默认使用3.8.5版本,退出虚拟环境执行
deactivate即可
- 创建虚拟环境:
方法二:修改全局python3默认版本
注意:树莓派系统内置大量工具依赖默认的Python 3.7.3,修改全局默认可能导致系统功能异常,操作前请确认风险:
- 首先查询两个版本的实际安装路径,执行命令:
which python python3,记录Python 3.8.5和Python 3.7.3对应的文件路径 - 将两个版本加入版本管理备选列表:
# 加入Python 3.7.3,优先级设为1,路径替换为你上一步查询到的实际路径 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1 # 加入Python 3.8.5,优先级设为2(数字越高优先级越高),路径替换为你上一步查询到的实际路径 sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.8 2 - 切换默认版本:执行
sudo update-alternatives --config python3,按照终端提示输入Python 3.8.5对应的序号回车即可 - 验证修改结果:执行
python3 -V,返回3.8.5即为修改成功
内容的提问来源于stack exchange,提问作者MarkKoli
相关产品推荐
相关产品推荐

