在Linux系统安装python3.12以及pip
1.在官网下载python3.12.1的压缩包:https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz
1)首先安装gcc编译器,gcc有些系统版本已经默认安装,通过 gcc --version 查看,没安装的先安装gcc,yum -y install gcc
2)安装其它依赖包,(注:不要缺少,否则有可能安装python出错,python3.7以下的版本可不装 libffi-devel )
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
2.然后通过XFTP丢到服务器上去 一般是/usr/local/xxx
3.cd 到新建的python3文件夹中 进行解压 tar -xvf xxx
4.cd 到解压完的文件中 添加配置:
./configure --prefix=/usr/local/python3(存放python3的文件夹)
5.编译 make
6.安装 make install
7.系统中原来的python (python2.7)在/usr/bin/python中 python是一个软链接,链接到本目录下的python2.7
8.建立软连接:
ln -s /usr/local/python3/bin/python3.12.0 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.12 /usr/bin/pip3
以后执行python显示系统自带的python2
执行python3 则是执行python3,
执行pip 是python2 下载
执行pip3是python3 下载
9.查看python3 是否安装成功
在命令行输入python3 显示如下 则安装成功
而 输入python 则输出系统自带的python2的信息
查看pip版本:建立pip3的软链接 和自带的pip区分开
此处可能出现pip无法联网使用。
原因:系统版本centos7.9,其中openssl的版本为OpenSSL 1.0.2k-fips,而python3.12需要的openssl的版本为1.1.x及以上,需要对openssl进行升级,并重新编译python3.12(yum 安装的openssl 版本都比较低)。
升级openssl:
1.下载openssl
wget https://www.openssl.org/source/openssl-3.0.7.tar.gz
tar -zxvf openssl-3.0.7.tar.gz
cd openssl-3.0.7
2.编译安装
./config --prefix=/usr/local/openssl
make
make install
# 3.备份原配置
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl/ /usr/include/openssl.bak
# 4.新版配置
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/local/lib64/libssl.so
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
# 5.修改系统配置
## 写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
## 使修改后的/etc/ld.so.conf生效
ldconfig -v
# 6.查看openssl版本
openssl version
如果这里openssl version 提示:
/usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
诸如此类的错误,是由于建立软链接时第一个路径不是openssl的安装路径,请根据自己的openssl安装路径确认建立软链接的的第一个路径。
重新安装python3.12:
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
make
make install
#这时再次执行:
pip3 install pandas
成功。