在做一个项目的实验,系统提示树莓派必须安装python3.8.0以上的版本才能进行。但是我的树莓派系统自带的python版本很低。查了一些资料才发现知道树莓派系统默认安装的Python版本取决于其发布时Python的稳定版本。由于Raspberry Pi OS的发布周期和Python的版本更新并不完全同步,因此树莓派上预装的Python版本可能并不是最新的。
按照步骤依次执行以下脚本
开始、下载、解压、编译、安装
- sudo apt-get update
- sudo apt-get upgrade
- wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
- tar zxvf Python-3.8.0.tgz
- cd Python-3.8.0
- sudo ./configure
- sudo make
- sudo make install
完成安装
查看当前使用的地址
which python
得到如下地址:
找到python路径后开始做软链接,注意以下问题:
如果是系统自带的python,会使用dist-packages目录;如果你手动安装python,它会直接使用目录site-packages。这允许你让两个安装隔离开来。
dist-packages:系统自带的python
site-packages:自己安装的python
sudo ln -s /usr/local/lib/python3.8 /usr/lib/python3
sudo ln -s /usr/local/lib/python3.8/site-packages /usr/lib/python3/dist-packages
解决安装Python版本出现No module named 'apt_pkg’问题
cd /usr/lib/python3/dist-packages/
sudo ln -s apt_pkg.cpython-38m-x86_64-linux-gnu.so apt_pkg.so
sudo ln -fs apt_pkg.cpython-38m-x86_64-linux-gnu.so apt_pkg.so
进行相关更新:
sudo apt-get update sudo apt-get upgrade
sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev
查看当前默认的Python路径
which python
查看这个路径是否是一个指向旧版本Python的链接。
ls -l /usr/bin/python
确实还指向了旧版本Python的链接。
-------------------------------------------------------
更新这个链接到新的Python 3.8路径
sudo ln -sf /usr/local/bin/python3.8 /usr/bin/python
再次查看版本
python --version
可以了