最近在折腾树莓派5, 安装的操作系统是Ubuntu 23.10 Desktop 版本, 这也是树莓派Imager 给树莓派5推荐的仅有的两个Ubuntu 版本, 我选择的是Desktop 版本,之前选择过一次Server 版本, 安装特别慢, 就回头选择了Desktop版。

今天需要在树莓派上执行Python 任务, 发现没有默认的python3 的包, 通过apt 来安装也不灵,主要是添加的第三方Python 模块deadsnakes源, 有一个ip 地址([IP: 185.125.190.80 443])是找不到的:
sudo add-apt-repository ppa:deadsnakes/ppa
所以,我们就源码编译安装Python3.

安装依赖:
sudo apt install wget build-essential libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
下载源代码并解压:
wget -c https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xztar -Jxf Python-3.11.0.tar.xzcd Python-3.11.0/
先运行一下配置并启用优化选项:
./configure --enable-optimizations

启动编译, 这里使用altinstall代替install,这样可以保留默认的Python在/usr/bin/Python中:
sudo make -j4 && sudo make altinstall在树莓派5上,这执行了一段时间,同时,最后提醒用户不要在root下运行pip,否则会出现权限问题和冲突行为, 最后建议安装pip虚拟环境管理器:

安装完之后,会发现, 系统中有两个Python3的版本,一个是3.10,一个是3.11:

这里,我们可以用3.11 来作为默认的Python:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.11 100现在, 默认的Python3 的版本就是3.11:

在这里安装完Python3 之后,是为了进一步调用Python的AI模块进行大模型操作, 但是如果想要卸载这里的Python, 怎么办呢?
有两种方法:
在源代码目录执行 make uninstallsudo make uninstall在/usr/local/bin 中删除:cd /usr/local/bin && rm -f sudo rm -f 2to3 2to3-3.11 idle3 idle3.11 pip pip3 pip3.10 pip3.11 pydoc3 pydoc3.11 python3 python3.11 python3.11-config python3-config删除操作这里是不演示了.
配置Python安装完Pyhton3 之后, 还可以单独安装pip, 这样通过pip安装Python 模块会更方便一点:
sudo apt install python3-pip安装完成:

例如这里安装Pandas,语法就简单一点:
sudo pip install pandas
本文介绍了在Ubuntu 23.10 中通过源代码编译的方式来安装Python3, 并成功在树莓派5环境中执行。

