用户时常使用树莓派开发板进行物联网(Internet-of-Things,IoT)开发工作。其上运行的一些诸如 Home Assistant 的程序可能需要一个更新版本的 Python,而树莓派等系统通过 apt 包管理器预置的 Python 版本可能并非最新。我们以将树莓派 Raspberry 更新至 Python 3.9 为例,演示如何将系统 Python 版本升级至最新版本的操作。
安装所需依赖
由于系统中 Raspberry 软件目录包含的 Python 版本并非最新,我们采用编译安装的方式在树莓派上安装最新 Python 版本。要完成该操作,首先需要将安装相关编译依赖:
sudo apt update && sudo apt dist-upgrade -y && sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget -y
编译安装 Python
要编译 Python,首先我们需要获取最新版本的源代码。在 Python 下载页面下载你需要的 Python 版本的源代码文件。获取 Gzipped source tarball 格式文件即可。我们以 Python 3.9.0 文件 https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
为例。
让我们在系统中创建临时目录,并下载 Python 源代码:
mkdir ~/tmp
cd ~/tmp
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
下载很慢吗?你也可以试试从 GitHub Releases 中下载对应源代码,请注意选择
.tar.gz
格式文件
下载完毕后,我们使用 tar 工具将源码包解压:
tar -zxvf Python-3.9.0.tgz
然后我们进入 Python 目录,并完成配置:
cd Python-3.9.0
./configure
接下来,我们安装 Python:
sudo make altinstall
有同学会对此处的 altinstall
指令感到困惑。这是因为默认的 make install
操作将替换系统中 python3
二进制文件,而系统中有多种重要组件需要依赖 Python3 工作,直接替换 python3
可能会引起混乱。
安装好之后,我们检查 Python 的对应版本:
python3.9 --version
pip3.9 --version
致谢
本文的编写参考了这篇文章。
感谢 @Charles 在树莓派上对本教程的验证。