项目背景
公司产品AI智能教育产品需要用到人工智能,大数据等,选择使用python3作为开发语言。centos7默认python版本是2,因此需要手动安装一下python3
一、升级openssl
系统默认openssl是1.0,python3需要openssl1.1版本。
- 移除本机的openssl
yum remove -y openssl openssl-devel
- 下载openssl最新包
wget https://www.openssl.org/source/openssl-1.1.1v.tar.gz
- 解压
tar -zxf openssl-1.1.1v.tar.gz
- 查看openssl.conf文件的目录
find /etc/ -name openssl.cnf -printf "%h\n"
/etc/pki/tls
- 编译、安装openssl
cd openssl-1.1.1v
./config \
--prefix=/usr/local/openssl \
--libdir=lib \
--openssldir=/etc/pki/tls
make -j1 depend
make -j8
make install_sw
- 更新共享库缓存
ldconfig
- 更新ssl配置,设置环境变量
tee /etc/profile.d/openssl.sh<<EOF
export PATH=/usr/local/openssl/bin:\$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib:\$LD_LIBRARY_PATH
EOF
source /etc/profile.d/openssl.sh
- 设置openssl的环境变量
export CFLAGS="-I/usr/local/openssl/include"
export LDFLAGS="-L/usr/local/openssl/lib -lssl -lcrypto"
export CPPFLAGS="-I /usr/local/openssl/include"
- 查看openssl的版本
openssl version
二、更新和安装最新工具包
- 通过以下命令安装所有的依赖包
sudo yum -y groupinstall "Development Tools"
sudo 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 libffi-devel gcc-c++
- 最好清理一下之前的构建
make clean
三、安装python3依赖包
- 使用wget下载python3.12.3源码
wget https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tgz
- 解压然后进入目录
tar -zxf Python-3.12.3.tgz
cd Python-3.12.3
- 指定配置选项
./configure --prefix=/usr/local/python312
- 重新编译
make
- 编译成功执行安装
sudo make install
- 创建软连接
ln -s /usr/local/python312/bin/python3 /usr/bin/python3
- 版本验证
python3 --version