rpm系linux手动编译升级python2至python3
先声明笔者实际操作环境为centos7.x86-64,由于很多Linux系统默认的Python为python2,但是出于各种原因,我们需要在linux系统上升级python至python3,由于很多情况下受限于系统版本,包管理器yum或apt会将python2的某一版本作为最新稳定版,我们无法直观通过包管理器来进行安装,因此就需要手动编译安装,在这个过程中,笔者总结了一下自己踩过的坑
首先我们下载官网的压缩包,根据系统和架构选择适合自己的,这里我选的是linux.x86_64的:
wget https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tgz
接着解压源码包并进入源码目录:
tar xf Python-3.11.6.tgz
cd Python-3.11.6/
接着进行编译安装,编译这里,注意编译选项:
mkdir -p python-3.11
./configure --prefix=/usr/local/python-3.11 --enable-shared --enable-optimizations
--prefix指定安装路径,—enable-shared则是启用共享库,更多的编译选项请参考所安装python版本的官方手册,接着是make两连击:
make -j`nproc` && make install
这一步做完python就已经被正确安装了,但是输入python —version依旧是旧版本的python,这里需要注意的点在于妥善处理新旧版本的python,因为许多linux包管理器等使用的是python2,如若不妥善处理会造成基础功能受损,提供两种思路(笔者推荐第二种):
一种是对yum包管理器文件直接进行修改:
备份原本的python可执行文件:
mv /usr/bin/python /usr/bin/python.bak
查看/usr/bin/python相关文件:
ll /usr/bin/python*
接着编辑/usr/bin/yum文件:
vi /usr/bin/yum
修改第一行的路径为上述ll /usr/bin/python*中查看的python2的路径即可
另一种则是修改环境变量:
首先修改Path环境变量:
export Path=/usr/local/python-3.11:$Path
这样就会使得默认找python时,先从你的新的安装目录开始寻找,并且不影响你原本的默认Python2的依赖环境,设置完Path,还要再设置一下共享库,否则会在其他依赖python3编译过程报错:
打开配置文件:
vi ~/.bashrc
接着在文件底部添加下列行即可:
export LD_LIBRARY_PATH=/usr/local/python-3.11/lib:$LD_LIBRARY_PATH
对于LD_LIBRARY_PATH,有另外的方式,在/etc/ld.so.conf.d/目录下新增一个文件,文件内容为新安装python的库路径,再sudo ldconfig一下即可,但是笔者自己试了试,效果不好,因此还是直接设置环境变量。综上,新的python3就完整安装设置好啦~
还没有评论,来说两句吧...