• 在CentOS 7.7 x86_64上安装python3.11.0实录


    整个安装过程基本上参照原来的博文

    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

  • 相关阅读:
    getBoundingClientRect、offset、page、client、screen相关API及释义合集
    MonoSDF学习笔记
    迅镭激光GI系列高功率激光切割机成功中标覆铜板龙头企业HZ公司
    B. Reverse Binary Strings
    Redis系列之什么是布隆过滤器?
    「iOS」UI——无限轮播图实现与UIPageControl运用
    鸿蒙组件学习_Tabs组件
    Python大数据之Python进阶(三)多进程的使用
    【Redis】Redis在Linux与windows上的安装&基本操作语法
    用python编写远程控制程序
  • 原文地址:https://blog.csdn.net/tao_627/article/details/128050181