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

  • 相关阅读:
    Codeforces 474B. Worms
    Codeforces 577A
    Codeforces 455A
    Codeforces 540A
    Codeforces 832A. Sasha and Sticks
    51Nod 1137 矩阵乘法
    51Nod 1118 机器人走方格
    Tomcat部署项目的三种方式
    【Linux】CentOS7下安装JDK详细过程
    Linux上安装rz和sz命令
  • 原文地址:https://www.cnblogs.com/adao21/p/12901127.html
Copyright © 2011-2022 走看看