以下步骤建议在 root模式下。
1. 安装weget
yum -y install wget
2. 下载python3.7.9安装包
mkdir /home/python_install
cd /home/python_install
wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
3. 安装环境依赖
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
3.1安装Openssl
这一步视情况而定,Python介绍在文档中说到需OpenSSL需要1.0.2或者1.1.x
Currently Python versions 3.6 to 3.9 are compatible with OpenSSL 1.0.2, 1.1.0, and 1.1.1.
如果以后需要安装飞浆(PaddleOCR )建议把Openssl升级成openssl-1.1.1
- 下载Openssl
wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz- 解压:
tar -zxvf openssl-1.1.1q.tar.gz- 编译安装
cd openssl-1.1.1q
./config --prefix=/usr/local/openssl
make && make install配置openssl:
- 备份原始配置
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl/ /usr/include/openssl.bak- 将安装好的openssl 的openssl命令软连接到/usr/bin/openssl
ln -s /usr/local/my_openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/my_openssl/lib/libssl.so.1.1 /usr/lib64/
ln -s /usr/local/my_openssl/lib/libcrypto.so.1.1 /usr/lib64/- 将软链接写入openssl库文件的搜索路径
echo “/usr/local/openssl/lib” >> /etc/ld.so.conf
ldconfig -v #使修改后的/etc/ld.so.conf生效- 查看版本
openssl version
OpenSSL 1.1.1q 5 Jul 2022
/etc/ld.so.conf 这个文件记录了编译时使用的动态链接库的路径,告诉链接器去哪个路径下寻找链接时需要用到的库,如果找不到,就会提示链接错误。
4. 解压Python3.7.9安装包,并进入Python3.7.9文件夹
tar -zxvf Python-3.7.9.tgz
cd Python3.7.9
6. 编译文件生成Makefile
编译文件生成makefile,这makefile就是用来编译且安装的,–prefix 指定软件的安装路径, 当前指定为/opt/python37/目录
./configure --prefix=/opt/python37/ --with-openssl=/usr/local/openssl
如果遇到
If you want a release build with all stable optimizations active (PGO, etc), please run ./configure --enable-optimizations
执行./configure --prefix=/opt/python37/ --with-openssl=/usr/local/openssl --enable-optimizations
7. 编译安装
make
make install
执行时间比较长,等待。。。。
8. 配置环境变量,添加python3
vi /etc/profile
添加以下内容:PATH=/opt/python37/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
添加软连接
ln -s /opt/python37/bin/python3.7 /usr/bin/python3
ln -s /opt/python37/bin/pip3 /usr/bin/pip3
9. 重载更新配置文件
source /etc/profile
10. 测试是否成功
python3
参考博客:
- https://blog.csdn.net/carooo/article/details/111991974
- https://www.cnblogs.com/handsomehuo/p/16626794.html
- https://blog.csdn.net/fjsupermouse/article/details/131004244