zoukankan      html  css  js  c++  java
  • Centos7环境下安装python3.6.4 并与python2共存

    最近安装了新系统centos7,本身自带python2.7,但是由于需要使用python3 来运行一些应用,所以想到在centos环境下安装python3,并保证其和python2 可以共存。

    步骤如下:

    1. 确认  现有python 版本          python -V

    2. 查询执行文件的位置          which python

    3安装相关包,用于下载编译python3

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

     或者如下命令

    yum -y install zlib zlib-devel
    yum -y install bzip2 bzip2-devel
    yum -y install ncurses ncurses-devel
    yum -y install readline readline-devel
    yum -y install openssl openssl-devel
    yum -y install openssl-static
    yum -y install xz lzma xz-devel
    yum -y install sqlite sqlite-devel
    yum -y install gdbm gdbm-devel
    yum -y install tk tk-devel
    yum -y install ncurses ncurses-devel
     

    4.  执行文件在/usr/bin/ 目录下,切换到该目录下执行 ll python* 命令查看

    5.  可以看到 只有 python2,   将其做备份

    mv python python.bak

    mv python-config python-config.bak

    6.   下载 源文件

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

    7.解压

    tar -xvJf  Python-3.6.4.tar.xz

    切换进入

    cd Python-3.6.4

    8.  配置环境

    ./configure prefix=/usr/local/python3

     9. 

    运行后,提示我如下内容:(每个人出现的问题可能不同)

    If you want a release build with all optimizations active (LTO, PGO, etc), please run ./configure --enable-optimizations.

    该提示 原因:

    https://stackoverflow.com/questions/41405728/what-does-enable-optimizations-do-while-compiling-python?noredirect=1

    10. 编译安装

    make && make install

    安装完毕,/usr/local/目录下就会有python3了。

    11.  安装成功,可能已经安装好可执行文件的链接

    很神奇的事情是 执行优化命令后  python3 的可执行文件 和  其他配置的执行文件  全部生成好,  但是并不在配置时的位置。

     

     最后在文件系统中搜索,发现了安装的位置, 估计这个安装的配置时优化命令自动设置的,和 第8步中  配置环境 的设置不同, 应该是覆盖掉了。

    在 /usr/bin   中 创建  python3 可执行文件的链接

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

      如果没有执行优化命令(即第9步中的命令),  那么 在  /usr/bin   中生成链接:

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

    此时,  python3  的安装目录为  /usr/local/python3

  • 相关阅读:
    淘淘整理相关链接
    Ajax跨域请求
    tomcat启动(六)Catalina分析-StandardServer.start()
    Tomcat中组件的生命周期管理公共接口Lifecycle
    Catalina.createDigester方法详细理解
    SpringMVC访问WEB-INF下的jsp的方法
    tomcat启动(五)Catalina分析-service.init
    tomcat启动(四)Catalina分析-server的init()方法
    tomcat启动(三)Catalina分析-load方法分析
    tomcat启动(三)Catalina简要分析
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/8457134.html
Copyright © 2011-2022 走看看