参考:https://www.centos.bz/2018/07/centos-7-%E5%AE%89%E8%A3%85-python-3-7/
centos7默认带的是python2.7,在需要python3时需要手动进行编译安装。
1、安装依赖包
因为使用源码方式在 CentOS 7 系统中安装 Python 3.7,所以必须安装 GCC 编译器和 make 编译工具,这些软件包包含在 “Development tools” 软件组中,可以直接安装 “Development tools” 软件组:
sudo yum groupinstall "Development tools"
因为 Python 3.7 源文件使用 zlib 格式打包,所以需要安装 zlib 软件包;Python 3.7 编译安装时需要使用 zlib 的头文件和链接库,所以需要安装 zlib 的头文件和链接库 zlib-devel 软件包:
sudo yum -y install zlib zlib-devel
Python 3 有个内置模块 ctypes,它是 Python 3 的外部函数库(Foreign function library),它需要使用系统外部函数库(libffi)的头文件和链接库,所以需要安装外部函数库(libffi)头文件和链接库 libffi-devel 软件包:
sudo yum -y install libffi-devel
最近在redhat 7上安装Python3.6.4之后,使用pip命令出现了问题,提示说找不到ssl模块,出现错误如下:
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https:*******: There was a problem confirming the ssl certificate:
Can't connect to HTTPS URL because the SSL module is not available. - skipping
本人查阅资料发现,在./configure过程中,如果没有加上–with-ssl参数时,默认安装的软件涉及到ssl的功能不可用,
刚好pip3过程需要ssl模块,而由于没有指定,所以该功能不可用。
yum install openssl-devel -y
2 运行如下命令配置、编译、安装 Python 3.7
wgethttps://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xztar xJf Python-3.7.0.tar.xzcd Python-3.7.0sudo
./configure --with-ssl
sudo make
sudo make install
如果在编译安装时提示 zipimport.ZipImportError: can’t decompress data; zlib not available 错误,请查看关于 zlib 的解决方法。
如果在编译安装时提示 ModuleNotFoundError: No module named ‘_ctypes’ 错误,请查看关于 ctypes 的解决方法。
3、安装完成后,Python 3.7 安装在了/usr/local文件夹中,可运行文件/usr/local/bin,库文件/usr/local/lib。因为 /usr/local/bin 在 Shell 路径中,所以可以直接在 Shell 中输入如下命令 python3 运行 Python 3.7 解释器。
参考:https://www.centos.bz/2018/07/centos-7-%E5%AE%89%E8%A3%85-python-3-7/