CentOS 7 下安装 Python

发布时间:2019-10-21 09:09:43编辑:auto阅读(4593)

    当前最新的 CentOS 7.3 默认安装的是 Python 2 ,并且默认的官方 yum 源中不提供 Python 3 的安装包。最近需要在机器上装awscli,需要python2.6.5+或python3.3+,python3我这边通过源码编译的方式安装。
    我的机器版本:

    cat /etc/redhat-release
    #CentOS Linux release 7.3.1611 (Core)

    python2版本

    python --version
    Python 2.7.5

    源码编译安装

    • 先安装环境依赖,方便后续编译安装
    # wget 用于下载源码包
    # gcc 和 make 用于编译
    yum install wget gcc make
    
    #make报错,Python 有个很重要的内建模块 zipimport 用于从 Zip 压缩包中导入模块
    #zipimport.ZipImportError: can't decompress data; zlib not available
    yum install zlib-devel
    
    #make install报错,
    #ModuleNotFoundError: No module named ‘_ctypes’
    yum install libffi-devel
    
    # 解决 import ssl 报错 No module named '_ssl'
    yum install openssl-devel
    
    # 解决 import bz2 报错
    yum install  bzip2-devel
    
    # 解决 import curses 报错
    yum install  ncurses-devel
    
    # 解决 import sqlite3 报错
    yum install sqlite-devel
    
    # 解决 _dbm _gdbm 缺失提醒
    yum install gdbm-devel
    
    # 解决 _lzma 缺失提醒
    yum install xz-devel
    
    # 解决 _tkinter 缺失提醒
    yum install tk-devel
    
    # 解决 readline 缺失提醒及方向键行为非预期的问题
    yum install readline-devel
    wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
    • 解压缩
    xz -d Python-3.7.1.tar.xz
    tar -xvf Python-3.7.1.tar
    • 编译&安装
    cd Python-3.7.1
    #--prefix 是预期安装目录,--enable-optimizations 是优化选项(LTO,PGO 等)
    ./configure --prefix=/usr/local/python3.7 --enable-optimizations
    # 安装
    make && make install
    • 添加软链接
    ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3
    ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3
    • 查看版本号
    python3 --version
    #Python 3.7.1
    pip3 --version
    #pip 10.0.1 from /usr/local/python3.7/lib/python3.7/site-packages/pip (python 3.7)

    后续安装升级

    • pip3版本号比较低,通过命令升级
    pip3 install --upgrade pip

    然后查看版本号

    pip3 --version
    #pip 18.1 from /usr/local/python3.7/lib/python3.7/site-packages/pip (python 3.7)
    • centos7自带的python2的没有pip,可以通过脚本安装
    wget https://bootstrap.pypa.io/get-pip.py
    python get-pip.py

    查看版本号

    pip --version
    #pip 18.1 from /usr/lib/python2.7/site-packages/pip (python 2.7)

    参考

关键字