zoukankan      html  css  js  c++  java
  • python2升级python3

    需求:

    centos环境,python2.7需要升级为python3.x


    1.请先手动(再次)安装 openssl 。否则你升级之后,你的pip不能下载,会各种报错的。

    比如这种错误:

    ImportError: Entry point ('console_scripts', 'easy_install') not found
    pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avail

     pip报错帖子1 pip报错帖子2 pip报错帖子3,报错帖子4

    执行 pip  -V 检查 pip是pip2的还是pip3的。

    随便安装一个模块,看看是否会报错。(我们假设你这里是指向pip3的pip命令,因为你已经安装了Python3嘛)

    比如:

    pip  install   lxml 

    如何安装 openssl,请看这里:https://www.cnblogs.com/music-liang/p/11888672.html


    安装完openssl之后,请继续往下看:


    如果你对 环境变量了解,对软链接不熟悉,请先看完这个介绍:

    环境变量

    linux下面可以直接运行的某些命令,是因为这些命令都在 环境变量 指定的路径下面,而这个路径,就是  /usr/bin/

    例如 /usr/bin/  下面有一个python文件,那么,你就可以正常地在终端(terminal)运行 python命令

    [root@VM_0_10_centos python3]# ls -la  /usr/bin | grep python 
    lrwxrwxrwx    1 root root          7 Mar 26  2018 python -> python2.7
    lrwxrwxrwx    1 root root          9 Mar 26  2018 python2 -> python2.7
    -rwxr-xr-x    1 root root       7136 Aug  4  2017 python2.7

    软链接(快捷方式)

    就类似于windows里面的快捷方式。 软连接相关命令是  ln -s 。具体请参考这里。

    你会发现,我这里有2个软链接(快捷方式),分别是python, python2( 有 ->  符号的那2个),它们都是python2.7这个文件的软链接(快捷方式)。

    我们待会会安装python3,然后在这里 ( /usr/bin )放一个名叫python的软连接(快捷方式)。

    目前,请先不要删除。。。安装完成后再来做这一步操作。


    环境变量和软连接的介绍到此完毕,下面进入正题:

    用root权限账号登录,执行下面的安装名。

    1.下载最新版本的python

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

    2.解压。解压出来的文件是Python-3.8.0(不同版本,名称不一样)

    tar -zxvf Python-3.8.0.tgz

    3.进入Python-3.8.0文件夹

    cd  Python-3.8.0

    4.创建Python3的安装路径

    mkdir  /usr/local/python3

    5.运行(Python-3.8.0文件夹)里面的配置脚本

    ./configure --prefix=/usr/local/python3 --enable-optimizations --with-openssl=/usr/local/openssl/

     

    6.编译 (直接输入make命令,按下回车键就好)

    make 

    make test

    6.1可能的报错:

    我安装3.5版的时候,没有报错。但是安装3.7版本的时候,有个报错

    错误如下:

    Failed to build these modules:_ctypes binascii   

    解决方案,安装 libffi-devel 

    yum install libffi-devel -y

    如果你在刚才的过程中出错了,请记得在安装了 libffi-devel之后执行 make clean  清理工程;然后重新make 编译工程。

    7.安装

    make install

    8.如果报错了

    8.1.如果是 zlib错误,请安装 zlib

    可能的报错信息:
    zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1

    安装 zlib命令如下:

    yum -y install zlib* 

    8.2 如果是其他的报错,请仔细阅读报错的英文信息,动手解决问题。

    或者去互联网上搜素,如何解决这个报错。

    问题解决之后,执行  make install  ,安装python3.

    9.到这里,假设您已经成功安装了python3

    此时查看python,你会看到,还是之前的python2.x。

    因为python3还未加入到环境变量下面,系统没法运行python3。

    10.删除 环境变量 (/usr/bin)下面的  python 软链接(快捷方式),创建Python3的软链接(快捷方式)

    如果你不清楚这里说的环境变量(/usr/bin),软链接等概念,请回到开头再看看前面提到的信息。

    删除旧的python快捷方式(之前由python2创建的)
    rm /usr/bin/python
    创建我们Python3的软链接(快捷方式),这次我们创建2个

    ln
    -s /usr/local/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/python3/bin/python3 /usr/bin/python

    11.输入终端(terminal) python  -V ,来验证 python3是否安装成功。

    你还可以输入python3 -V,会有同样的效果,这个也是合法的命令。

    12.yum 被影响了,修改回来

    /usr/bin/yum
    /usr/libexec/urlgrabber-ext-down

    yum需要python2.x来解释执行。

    这2个文件的第1行,将python 改为  python2.7(如果你的2.x版本不同,就输入你的python名称)

    请好好理解  环境变量、软链接(快捷方式)的概念。你就会知道如何修改这里了。

    13.大功告成

      祝你学习进步,学有所成。

    参考链接:https://stackoverflow.com/questions/27022373/python3-importerror-no-module-named-ctypes-when-using-value-from-module-mul

  • 相关阅读:
    MySQL与OLAP:分析型SQL查询最佳实践探索
    创建与删除索引
    第三方推送-个推使用
    test
    图床_搭建本地yum仓库及自制rpm包(无需镜像)
    图床_有趣的linux命令行工具-lolcat
    图床_fdisk一键操作分区-无需脚本
    图床_将你的CentOS 7 配置yum源
    图床_使用Putty远程连接管理Linux实践
    图床_使用Xshell远程连接管理Linux实践
  • 原文地址:https://www.cnblogs.com/music-liang/p/11876305.html
Copyright © 2011-2022 走看看