CentOS7 安装Python3

作者: 长风破浪小武哥 | 来源:发表于2019-04-10 11:28 被阅读0次

    本文主要介绍在CentOS7上通过源码编译的方式案头Python3, 文中用到的是CentOS7.2, Python版本是3.6.7,其他类似版本的处理也是大致相同的.

    在安装Python3之前需要解决两个问题:

    • 一是 开发环境安装,比如gcc等
    • 二是 openssl的安装, 因为CentOS自带的openssl版本比较低,导致Python3安装完后,在python命令行中执行import ssl会报错:ImportError: No module named _ssl。

    特别是第二个ssl错误,相信很多人都遇到过,我自己也在这个问题上纠缠了很长时间, 现在将亲测有效的解决方案分享给大家。

    1.安装开发环境依赖

    sudo yum -y groupinstall development
    sudo yum -y install zlib-devel
    sudo yum -y install libffi-devel
    

    2.更新openssl

    先通过命令看看筷的openssl版本,如果返回是0.9.x, 那肯定需要升级了

    openssl version
    

    按照如下方式升级openssl

    wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
    tar xvzf openssl-1.0.2e.tar.gz
    cd openssl-1.0.2e
    ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
    make
    make test
    make install
    

    到这openssl安装完成了, 接下来可以开始编译安装Python3了, 注意我们指定的openssl安装路径是在/usr/local/openssl, 这个后面要用到。

    3.安装Python3

    • 先下载解压Python3.6.7安装包
    wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tgz
    tar xvzf Python-3.6.7.tgz
    cd Python-3.6.7
    
    • 然后修改Setup.dist, 指定ssl位置
    vi Modules/Setup.dist
    

    搜索ssl, 取消以下几行注释, 并且修改SSL的值为我们实际安装openssl的值, 即:/usr/local/openssl

    _socket socketmodule.c
    
    # Socket module helper for SSL support; you must comment out the other
    # socket line above, and possibly edit the SSL variable:
    SSL=/usr/local/openssl
    _ssl _ssl.c \
     -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
     -L$(SSL)/lib -lssl -lcrypto
    

    注: 网上很多说在./configure 后面加--with-openssl的方法来指定openssl的方法自测无效, 通过修改Setup.dist方才生效。

    • 完成以上修改后,即可开始编译Python3, 命令如下。
    ./configure
    make
    make install
    

    4.验证Python3

    python3
    import ssl
    

    正常不会报错, 则Python3安装成功。
    另外,给大家推荐一个Python虚拟环境的包pipenv, 强大又好用, 大家可以试试。

    python3 -m pip install pipenv
    

    至此,CentOS7上安装Python3完毕。
    这个是我参考的文章,感谢前人的分享!How to Compile and Install Python with OpenSSL Support?

    相关文章

      网友评论

        本文标题:CentOS7 安装Python3

        本文链接:https://www.haomeiwen.com/subject/ejqniqtx.html