关于个人版AidLux(手机端)中python升级到3.10版本的方法

个人版/免费版(手机端)AidLux平台是Ubuntu 20.04,自带的只有pyhton 3.8版本,升级到python3.10,需要容器内本地源码编译安装并创建软连接的方式,方法如下:

步骤1:更新源 + 安装全套编译依赖

sudo apt update
sudo apt install -y build-essential gcc make pkg-config wget
sudo apt install -y zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev \
libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev liblzma-dev

步骤 2:创建源码存放目录,下载解压 Python3.10 源码

# 在家目录新建源码文件夹
mkdir -p ~/py_src
cd ~/py_src

# 国内华为镜像下载3.10.16稳定版
wget https://mirrors.huaweicloud.com/python/3.10.16/Python-3.10.16.tgz

# 解压
tar -zxvf Python-3.10.16.tgz
cd Python-3.10.16

步骤 3:configure 配置编译参数(关键,适配 ARM 容器)

./configure \
--prefix=/usr/local/python3.10 \
--enable-optimizations \
--with-ssl \
--enable-shared \
--with-ensurepip=install

参数说明:

  1. --prefix=/usr/local/python3.10:指定安装目录,独立隔离系统 python
  2. --with-ssl:pip 下载包、网络请求必备
  3. --enable-shared:生成动态库,numpy/opencv 等扩展库正常运行
  4. --with-ensurepip=install:编译后自动内置 pip,无需手动下载 get-pip

等待配置检测完成,无报错再往下走。

步骤 4:编译 + 安装(使用 altinstall,禁止 make install)

手机 ARM 性能弱,推荐 -j4;卡顿 / 内存不足就换成 -j2

make -j4
# 安装,不会覆盖系统python3.8
sudo make altinstall

编译耗时:手机大概 10~15 分钟,不要锁屏、不要后台杀掉 AidLux。

步骤 5:建立全局软链接,任意目录直接调用 python3.10

# python主程序软链接
sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python3.10
# pip软链接
sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/bin/pip3.10
# venv虚拟环境工具软链接
sudo ln -s /usr/local/python3.10/bin/pyvenv-3.10 /usr/bin/pyvenv-3.10

步骤 6:配置动态链接库(避免运行报 libpython 缺失)

# 写入库路径配置文件
echo "/usr/local/python3.10/lib" | sudo tee /etc/ld.so.conf.d/python310.conf
# 更新动态库缓存
sudo ldconfig

步骤 7:验证安装是否成功

python3.10 --version
pip3.10 --version