zoukankan      html  css  js  c++  java
  • centos 7 升级Python3.8

     自由自在 闲话少叙...

    1.下载官方Python包
    使用wget下载Python-3.8.2包

    wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz

    2.解压Python-3.8.2
    tar.xz压缩格式,需要用xz命令解压为.tar,用tar命令解包,目录权限不足时需使用:sudo

    xz -d Python-3.8.2.tar.xz
    tar xvf Python-3.8.2.tar

    另外一种格式

    wget --no-check-certificate https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz
    tar xzvf Python-3.8.2.tgz

    3.Python-3.8.2安装到指定目录
    编译安装时不要使用“make && make install”
    一定要分两步,先make(编译),然后再 make install(编译安装)。
    非root用户需使用sudo

    1. 创建安装目录

    mkdir /usr/local/python3/

    2. 指定安装目录
    不要在./configure 后添加–enable-optimizations参数,在低版本的gcc版本中带有–enable-optimizations参数时会出现“Could not import runpy module”安装错误,在下面会介绍

    # 进入Python-3.8.2目录

    cd Python-3.8.2

    # 配置(指定安装目录)

    ./configure --prefix=/usr/local/python3

    3. 编译

    make

    4. 编译安装

    make install

    5. 更换系统默认Python版本
    (1).备份原系统旧版本python

    mv /usr/bin/python /usr/bin/python.bak
    mv /usr/bin/pip /usr/bin/pip.bak

    (2).配置环境变量:创建新版本Python和pip的软链接

    ln -s /usr/local/python3/bin/python3.8 /usr/bin/python
    ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

    5. 查看版本

    python -V

    6. 修改因更换Python版本影响的其它命令功能
    (1).yum

    vim /usr/bin/yum
    把最顶部的#!/usr/bin/python改为:#!/usr/bin/python2.7
    wq 保存,已经是的无须更改
    (2).urlgrabber-ext-down

    vim /usr/libexec/urlgrabber-ext-down
    把最顶部的#!/usr/bin/python改为:#!/usr/bin/python2.7
    wq 保存,已经是的无须更改
    (2).firewalld

    vim /usr/sbin/firewalld
    把最顶部的#!/usr/bin/python改为:#!/usr/bin/python2.7
    wq 保存,已经是的无须更改
    (2).firewall-cm

    vim /usr/bin/firewall-cm
    把最顶部的#!/usr/bin/python改为:#!/usr/bin/python2.7
    wq 保存,已经是的无须更改

    7. 出现Could not import runpy module“”安装错误说明
    错误示例:

    make build_all CFLAGS_NODIST=" -fprofile-use -fprofile-correction" LDFLAGS_NODIST=""
    make[1]: Entering directory `/usr/local/src/Python-3.8.0'
    ./python -E -S -m sysconfig --generate-posix-vars ;
    if test $? -ne 0 ; then
    echo "generate-posix-vars failed" ;
    rm -f ./pybuilddir.txt ;
    exit 1 ;
    fi
    Could not import runpy module
    Traceback (most recent call last):
    File "/usr/local/src/Python-3.8.0/Lib/runpy.py", line 15, in <module>
    import importlib.util
    File "/usr/local/src/Python-3.8.0/Lib/importlib/util.py", line 14, in <module>
    from contextlib import contextmanager
    File "/usr/local/src/Python-3.8.0/Lib/contextlib.py", line 4, in <module>
    import _collections_abc
    SystemError: <built-in function compile> returned NULL without setting an error
    generate-posix-vars failed
    make[1]: *** [pybuilddir.txt] Error 1
    make[1]: Leaving directory `/usr/local/src/Python-3.8.0'
    make: *** [profile-opt] Error 2


    导致原因:
    在低版本的gcc中带有–enable-optimizations参数
    解决方法(不推荐使用方法1):
    1、升级gcc至高版本,gcc 8.1.0已修复此问题
    2、./configure参数中去掉–enable-optimizations


    ————————————————
    原文链接:https://blog.csdn.net/IT_Migrant_worker/java/article/details/104725904

  • 相关阅读:
    DEDECMS里面DEDE函数解析
    dede数据库类使用方法 $dsql
    DEDE数据库语句 DEDESQL命令批量替换 SQL执行语句
    织梦DedeCms网站更换域名后文章图片路径批量修改
    DSP using MATLAB 示例 Example3.12
    DSP using MATLAB 示例 Example3.11
    DSP using MATLAB 示例 Example3.10
    DSP using MATLAB 示例Example3.9
    DSP using MATLAB 示例Example3.8
    DSP using MATLAB 示例Example3.7
  • 原文地址:https://www.cnblogs.com/adao21/p/12901127.html
Copyright © 2011-2022 走看看