1. 下载安装包。
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
<说明>若是报SSL/TSL错误,则加上 --no-check-certificate 选项
2. 解压缩
tar -xzvf Python-3.7.4.tgz
cd Python-3.7.4
3. 配置
* 查看配置选项。
./configure --help
* 经常使用配置选项配置
--prefix=/usr/local/python3 #pyhton的安装路径
--with-openssl=/usr/local/openssl #OpenSSL库的安装路径
* 若是您想要一个包含全部稳定优化活动的版本构建,能够添加下面的选项(不过通常不须要,这个配置检查过程会很耗时的)
--enable-optimizations
* 查看系统是否安装了OpenSSL
rpm -qa|grep -i openssl
* 查看OpenSSL版本
openssl version -a #会显示出OpenSSL的安装路径
* 个人安装配置选项
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --with-ssl-default-suites=pythonhtml
4. 编译和安装。
make && make installpython
* 创建python命令的软连接
ln -s /usr/local/python3/bin/python3.7 /usr/local/bin/python
* 修改/etc/profile,添加以下内容:
export PATH=$PATH:/usr/local/python3/bin
保存后,执行: source /etc/profile
* 执行命令查看安装版本
# python --version
Python 3.7.4
* 直接运行Python命令,检测是否安装成功
# python
Python 3.7.4 (default, Sep 10 2019, 01:13:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
# 当输出上面的信息表示Python-3.7.4安装成功了。linux
Python-3.7.4版本是自带有pip工具的,安装成功后,在安装路径/usr/local/python3/bin下有pip3和pip3.7两个可执行文件。
* 创建pip3命令的软连接
ln -s /usr/local/python3/bin/pip3.7 /usr/local/bin/pip3centos
* 查看pip的版本信息:pip3 -V/--versionbash
* 查看帮助信息:pip3 -h/--help 或者 pip3 help工具
1. ModuleNotFoundError: No module named '_ctypes'
这个须要安装依赖库libffi-devel,执行命令以下:
yum install libffi-devel -y # -y表示对全部的提问都回答yes优化
2. pip工具安装Python三方库时报pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.ui
这个须要安装OpenSSL依赖库,安装Python-3.7.4以前先安装OpenSSL,最好是安装openssl-1.1.x版本的。安装Python成功后,执行以下命令:centos7
# python
Python 3.7.4 (default, Sep 10 2019, 23:12:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sslspa
若是不报错,这说明ssl设置成功了。能够使用pip install <package>来安装Python第三方库了。
题外话:我在网上看到,要结果ModuleNotFoundError: No module named '_ssl'的错误,须要修改Python-3.7.4/Modules目录下的Setup.dist和Setup文件的以下内容:
#找到SSL相关配置 #SSL=/usr/local/ssl #_ssl _ssl.c \ # -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ # -L$(SSL)/lib -lssl -lcrypto #取消掉上面4行注释,即 SSL=/usr/local _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib64 -lssl -lcrypto #SSL= 后面跟的是OpenSSL的安装路径,好比说个人安装路径是/usr/local/openssl,那就修改成 SSL=/usr/local/openssl,能够经过openssl version -a命令查看安装路径。
可是,我以为这个比较麻烦,个人安装过程是没有修改Modules目录下的Setup.dist和Setup的这两个文件的,可是import ssl仍然是成功的,没有报错。
ImportError: No module named _ssl解决方法 https://blog.csdn.net/xiemanR/article/details/85224509
centos7.3编译安装OpenSSL1.1.1b https://cloud.tencent.com/developer/article/1406810
centos6.8安装python3.7.3报错Can't connect to HTTPS URL because the SSL module is not available问题解决 http://www.mamicode.com/info-detail-2713977.html
CentOS7.6编译安装openssl-1.1.1c https://www.cnblogs.com/yunfan1024/p/11504039.html