查看当前系统版本信息
uname -a
Linux iZ2ze7pikf0xtlj560j35xZ 2.6.32-754.17.1.el6.x86_64 #1 SMP Tue Jul 2 12:42:48 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
查看当前Python版本
python -v
Python 2.6.6
切换工作目录至/usr/local
cd /usr/local
下载目标python版本压缩包
wget http://npm.taobao.org/mirrors/python/3.8.3/Python-3.8.3.tgz
解压压缩包
tar -xzvf Python-3.8.3.tgz
在当前目录下创建文件夹(/usr/local)--python3
mkdir python3
安装必要的环境
yum -y groupinstall "Development tools"
#yum -y install zlib-devel bzip2-devel openssl-devel ncurses-#devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
#yum -y install libffi-devel
#yum install -y epel-release
#yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel
编译与安装
执行步骤:
进入解压文件路径
cd Python-3.8.3
生成makefile文件
./configure --prefix=/usr/local/python3 --enable-shared --enable-optimizations
--enable-shared # 启用共享,方便其他依赖python的一些内置库(比如 mysqlclient) 的资源的正常安装
--enable-optimizations # 是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 10% 左右的优化
对makefile文件进行操作
make
安装
make install
创建python3软链
备份旧python与pip
mv /usr/bin/python /usr/bin/python2_old
mv /usr/bin/pip /usr/bin/pip2_old
修改软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
查看版本信息
python3 -V
pip3 -V
问题1:
python3: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
原因:
原因是因为python运行时没有加载到libpython3.8.so.1.0 这个库文件
解决:
cp /usr/local/python3/lib/libpython3.8.so.1.0 /usr/lib64/
问题2:
由于修改了python的版本,会导致一些依赖于旧版本的程序出现错误,如yum,可进行如下配置:
解决:
打开yum文件
vim /usr/bin/yum
评论区