美文网首页
Centos7安装Python3.10

Centos7安装Python3.10

作者: sknfie | 来源:发表于2023-12-03 13:59 被阅读0次

    准备环境

    1.安装依赖包

    在编译python的时候,需要一些依赖包,一次性安装完

    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
    

    2.安装wget

    yum install wget
    

    安装OpenSSL

    这一步比较重要,在文档中说到需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.

    1.下载OpenSSL

    我们先下载最新版本并解压,目前最新版本为1.1.1g

    wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
    tar -zxvf openssl-1.1.1g.tar.gz
    

    2.编译安装

    分别执行下面三条命令

    cd openssl-1.1.1g
    ./config shared --openssldir=/usr/local/openssl \
       --prefix=/usr/local/openssl no-zlib  #不需要zlib
    make -j4 && make install
    

    3.备份原配置

    mv /usr/bin/openssl /usr/bin/openssl.bak
    mv /usr/include/openssl/ /usr/include/openssl.bak
    

    4.配置

    将安装好的openssl 的openssl命令软连到/usr/bin/openssl

    ln -s /usr/local/openssl/include/openssl /usr/include/openssl
    将软链到升级后的libssl.so
    
    ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
    将安装好的openssl命令软连到/usr/bin/openssl
    
    ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
    将软链接写入openssl库文件的搜索路径
    
    echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
     
    ldconfig -v #使修改后的/etc/ld.so.conf生效
    /etc/ld.so.conf 这个文件记录了编译时使用的动态链接库的路径,告诉链接器去哪个路径下寻找链接时需要用到的库,如果找不到,就会提示链接错误。
    

    完成OpenSSL安装
    至此OpenSSL已经安装并配置好了,我们查看一下版本

    openssl version
    

    OpenSSL 1.1.1q 5 Jul 2022

    安装Python

    1.下载源码包

    wget https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tgz
    

    这里下载的是3.10.10版本,如果需要装其他版本可以到这里下载自己需要的版本。

    注:如果这一步骤速度比较慢,可以先通过其他下载工具下载到本机,然后通过scp上传上去即可。

    2.解压

    解压压缩包

    tar -zxvf Python-3.10.10.tgz
    

    进入文件夹

    cd Python-3.10.10
    

    3.配置,编译,安装

    ./configure prefix=/usr/local/python3 -with-openssl=/usr/local/openssl #<---注意-with-openssl这个参数
    make && make install
    

    这个过程比较漫长,耐心等待即可

    4.添加软链接

    添加python3软链接

    ln -s /usr/local/python3/bin/python3.10 /usr/bin/python3 
    

    添加pip3的软链接

    ln -s /usr/local/python3/bin/pip3.10 /usr/bin/pip3
    

    5.完成安装

    我们测试一下python3

    python3 --version
    

    6.安装pipenv

    pip3 install pipenv -i https://pypi.tuna.tsinghua.edu.cn/simple/
    ln -s /usr/local/python3/bin/pipenv /usr/bin/pipenv
    pipenv --version
    

    Python 3.10.10常见问题

    如果您没有安装OpenSSL,直接安装的Python,那么大概率您在使用pip3的时候会报错,报错信息诸如pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.SSLError("Can't connect to HTTPSURL because the SSL module is not available.")之类。

    这种情况大概率就是缺少ssl模块所致

    验证很简单,大家可以进入python3控制台,import ssl,这时候大概率会报异常。

    大家可以尝试使用安装OpenSSL步骤安装一遍,光这样还是不够的,安装完之后,还要再进行一次Python的编译和安装,这样才能生效,还有就是配置后面的-with-openssl参数不能少。

    这里我没有链接到python上,是因为yum要用到python2才能执行,所以现在输入python的话还是会进入python2.7,输入python3才会进入python3.10

    如果执意想要链接到python的话,就得修改一下yum的配置:

    vi /usr/bin/yum 
    把 #! /usr/bin/python 修改为 #! /usr/bin/python2 
     
    vi /usr/libexec/urlgrabber-ext-down 
    把 #! /usr/bin/python 修改为 #! /usr/bin/python2
    添加软链接
    
    添加软链接
     
    复制代码
    #将原来的链接备份
    mv /usr/bin/python /usr/bin/python.bak
     
    #添加python3的软链接
    ln -s /usr/local/python3/bin/python3.10 /usr/bin/python
     
    #测试是否安装成功了
    python -V
    

    相关文章

      网友评论

          本文标题:Centos7安装Python3.10

          本文链接:https://www.haomeiwen.com/subject/htgkgdtx.html