Python源码安装指导
前提条件
已安装依赖软件GCC、CMake、Make。
操作步骤
本节以openeuler操作系统为例展示如何通用源码安装Python。
- 进入Python-downloads-source,下载Python 3.11.x版本的XZ软件包,并解压至本地环境。本节以Python 3.11.4作为安装版本,“/opt/buildtools”为安装目录示例。
cd /opt/buildtools tar -xf Python-3.11.4.tar.xz
- 设置编译参数,创建Python工作目录“/opt/buildtools/python-3.11”。
tmp_cpus=$(grep -w processor /proc/cpuinfo|wc -l) install_dir=/opt/buildtools/python-3.11 mkdir -p ${install_dir} - 执行Python编译。
cd Python-3.11.4 ./configure CFLAGS="-D_FORTIFY_SOURCE=2 -O2 -fstack-protector-strong" CPPFLAGS="-D_FORTIFY_SOURCE=2 -O2 -fstack-protector-strong" LDFLAGS="-Wl,-z,relro,-z,now -s" --prefix=${install_dir} -enable-shared make -j ${tmp_cpus} make install sudo cp libpython3.11.so.1.0 libpython3.11.so /usr/lib64
若操作系统非openeuler,需将libpython3.11.so.1.0和libpython3.11.so拷贝到对应的系统库目录中(例如,arm架构下,ubuntu中为/lib/aarch64-linux-gnu)。
- 修改“/usr/local/bin”下的Python软链接,如需回退请备份原Python文件。
[ -f /usr/local/bin/python3 ] && rm -f /usr/local/bin/python3 [ -e ${install_dir}/bin/python3.11 ] && ln -sf ${install_dir}/bin/python3.11 /usr/local/bin/python3 [ -f /usr/local/bin/python ] && rm -f /usr/local/bin/python [ -e ${install_dir}/bin/python3.11 ] && ln -sf ${install_dir}/bin/python3.11 /usr/local/bin/python [ -f /usr/local/bin/pip3 ] && rm -f /usr/local/bin/pip3 [ -e ${install_dir}/bin/pip3.11 ] && ln -sf ${install_dir}/bin/pip3.11 /usr/local/bin/pip3 - 执行以下命令,查询Python版本。
/usr/local/bin/python3 -V
打印信息如下所示,表示安装成功。Python 3.11.4
- 完成上述安装后,编译固件时报错,形如“xxx /usr/bin/python3 xxx”。请重开终端后,继续执行固件编译命令。
- 上述步骤仅修改了/usr/local/bin下的Python软链接,未对/usr/bin下的Python软链接进行修改,避免对操作系统命令如yum造成影响,如后续正常操作过程中遇到Python报错,可尝试恢复/usr/local/bin下Python软链接进行修复。
父主题: FAQ