centos7安装python3

参考: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 


运行如下命令配置、编译、安装 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/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容