整个安装过程基本上参照原来的博文
https://blog.csdn.net/tao_627/article/details/105674448
但是这里有新的注意点就是,ssl使用了新的openssl11库,与原来的安装方法有较大差异,特此将我的采坑记录于此,以作备忘!大家只需要按照我的记录顺序执行,就能顺利安装完成。
1.安装依赖包
yum groupinstall "Development Tools"
yum -y install zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel uuid-devel
yum install -y openssl-devel openssl11 openssl11-devel
yum -y install libffi-devel
yum -y install zlib*
这里需要强调几点:
a.如果一开始安装Development Tools就出错,请改为执行下面的命令
yum groups mark install "Development Tools"
yum groups mark convert "Development Tools"
yum groupinstall "Development Tools"
详见我的博文
https://blog.csdn.net/tao_627/article/details/128045133
b.如果你只是安装普通的openssl库,将会看到下面的错误:
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
Could not build the ssl module!Python requires a OpenSSL 1.1.1 or newer
是因为OpenSSL的版本太旧,需要安装openssl11 ,并且在编译的时候设置编译FLAG
编译主要需要注意的问题是设置编译FLAG,以便使用最新的openssl库。
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
验证如下
echo $CFLAGS
echo $LDFLAGS
下面是安装openssl11的依赖库的截图
2.设置最新openssl库编译环境
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
验证如下
echo $CFLAGS
echo $LDFLAGS
3.下载python3.x源码
根据自己需求在官网
https://www.python.org/downloads/
下载不同版本的Python3,我下载的是目前的最新版本Python3.11.0
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz
4.解压
tar -xvJf Python-3.11.0.tar.xz
5.创建编译安装目录
mkdir -p /usr/local/python3
6.安装
cd Python-3.11.0
./configure --prefix=/usr/local/python3 --enable-optimizations
#第一个指定安装的路径,不指定的话,安装过程中可能软件所需要的文件复制到其他不同目录,删除软件很不方便,复制软件也不方便.
#第二个可以提高python10%-20%代码运行速度.
make
make install
编译和安装过程中有个别警告或错误,但是不影响。编译过程中有测试用例测试,耗费时间较长。
着重看一下,ssl模块是能成功找到的。
7.重新编译的说明
一般情况下按照我上面的步骤,是能顺利编译出来的,但是如果你中途因为某些情况出错了,需要重新编译,你需要删除解压出来的文件夹和自定义安装文件夹,再分别重新解压和重新创建,为的是得到一个全新的编译环境,不受上次遗留错误的影响。
rm -fr Python-3.11.0
rm -fr /usr/lobal/python3
8.创建软链接
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
9.验证安装是否成功
python3 -V
pip3 -V
目前我们可以看到python和python3是共存的。
10.测试安装pip3了能不能正常使用
下面安装第三方库(随意下载一个就行),实测是可行的
pip3 install pillow
11.配置pip源为国内源
上面的安装是以root用户进行的,现在回归通常的使用模式,切换到普通用户taoyx
su taoyx
cd ~
新建pip配置文件
mkdir -p ~/.pip
touch ~/.pip/pip.conf
编辑配置文件,配置如下。
vim ~/.pip/pip.conf
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
extra-index-url=
http://pypi.douban.com/simple/
http://mirrors.aliyun.com/pypi/simple/
#proxy = [user:passwd@]proxy.server:port
[install]
trusted-host=
pypi.tuna.tsinghua.edu.cn
pypi.douban.com
mirrors.aliyun.com
ssl_verify: false
上面配置了清华,豆瓣,阿里的源,并且关闭了ssl验证。当然如果有需要还可以设置代理,把注释掉的proxy那行放开即可。
再验证一下
pip3 install --upgrade pip
结果如下
以上就是Centos7安装最新版Python3的全步骤。
参考文献
[1].https://zhuanlan.zhihu.com/p/491817098