CentOS 7.x 系统安装Python 3.7.x

  1. 基础环境。

    [root@monitor ~]# cat /etc/redhat-release 
    CentOS Linux release 7.6.1810 (Core) 
    
  2. 升级openssl。CentOS 7.6默认自带的openssl是1.0.2,需要升级到1.1.1,否则使用pip安装模块是会报错“pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available”。(如果是先装的Python,后升级的openssl,则升级完后需要重新编译Python)

    [root@monitor ~]# openssl version
    OpenSSL 1.0.2k-fips  26 Jan 2017
    # 安装依赖。如果是CentOS 6.x的系统需要安装xz,否则下面解压Python压缩包会报错。
    [root@monitor ~]# yum -y install gcc xz
    # 下载新版本的openssl
    [root@monitor ~]# cd /usr/local/src
    [root@monitor src]# wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz
    [root@monitor src]# tar xf openssl-1.1.1c.tar.gz
    [root@monitor src]# cd openssl-1.1.1c/
    [root@monitor openssl-1.1.1c]# ./config shared --prefix=/usr/local/openssl
    [root@monitor openssl-1.1.1c]# make && make install
    # 备份原来的openssl,并为新版本的openssl创建软链接。
    [root@monitor openssl-1.1.1c]# mv /usr/bin/openssl{,.bak}
    [root@monitor openssl-1.1.1c]# mv /usr/include/openssl{,.bak}
    [root@monitor openssl-1.1.1c]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
    [root@monitor openssl-1.1.1c]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
    [root@monitor openssl-1.1.1c]# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
    # 写入openssl库文件的搜索路径,并使之生效。
    [root@monitor openssl-1.1.1c]# echo "/usr/local/openssl/lib" >>/etc/ld.so.conf.d/openssl.conf
    [root@monitor openssl-1.1.1c]# ldconfig
    [root@monitor openssl-1.1.1c]# openssl version
    OpenSSL 1.1.1c  28 May 2019
    
  3. 下载Python 3.7.x的tar包,并解压。

    [root@monitor openssl-1.1.1c]# cd /usr/local/src/
    [root@monitor src]# wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
    [root@monitor src]# tar xf Python-3.7.2.tar.xz
    [root@monitor src]# cd Python-3.7.2/
    
  4. 编译安装。

    # 安装依赖包。
    [root@monitor Python-3.7.2]# yum -y install zlib-devel libffi-devel readline-devel sqlite-devel tk-devel bzip2-devel python-devel openssl-devel xz-devel
    [root@monitor Python-3.7.2]# ./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --enable-shared --enable-optimizations
    [root@monitor Python-3.7.2]# make && make install
    # 写入库搜索路径,并使之生效。
    [root@monitor Python-3.7.2]# echo "/usr/local/python3/lib" >>/etc/ld.so.conf.d/python3.conf
    [root@monitor Python-3.7.2]# ldconfig
    # 添加软链
    [root@monitor Python-3.7.2]# ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
    [root@monitor Python-3.7.2]# ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
    
  5. 测试pip安装requests模块。

    [root@monitor Python-3.7.2]# pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    [root@monitor Python-3.7.2]# pip3 install requests
    



写作不易,转载请注明出处,谢谢~~

posted @ 2019-09-06 20:26  merlee  阅读(3517)  评论(2编辑  收藏  举报