根据官方文档在centos下安装python3.8

centos下安装python3.8

引言

本文展示在centos下根据官方文档采用源码编译的方式安装python3.8。之所以采用编译方式是因为CentOS 和Fedora的包管理仓库中目前没有python3.8的包,不能通过yum的方式安装。按照官方文档安装会有很多坑,文中给了拍坑方式。

官方文档:`https://realpython.com/installing-python/#how-to-build-python-from-source-code`

正文

安装步骤(在尝试安装前先看文章最下面的踩坑点)

  • 环境准备;
  • 下载python;
  • 编译python;
  • 安装;
  • 验证;

环境准备:

sudo yum -y update
sudo yum -y groupinstall "Development Tools"
sudo yum -y install gcc openssl-devel bzip2-devel libffi-devel
yum -y install wget

下载python:

wget https://www.python.org/ftp/python/3.8.4/Python-3.8.4.tgz

编译python:

tar xvf Python-3.8.4.tgz 
cd Python-3.8.4
./configure --with-ensurepip=install
make -j 8

官方命令:./configure --enable-optimizations --with-ensurepip=install
make失败使用make clean再进行重新编译

安装:

sudo make altinstall

验证:

python3.8 --version

踩坑点

1.博主原先是想通过yum直接安装python,但是目前貌似没有提供支持,所以无奈采用源码方式编译安装,如果有其它更方便的方式可以在centos上安装python3,欢迎留言。
2.官网提供的下载路径网速很慢,如果想不通过翻墙的方式下载,可通过迅雷下载,然后上传到服务器。当然也肯定有第三方下载地址,听同事说有清华的资源,不过我暂时没找到,知道的欢迎留言。
3.在编译前需要进行编译配置,./configure --enable-optimizations --with-ensurepip=install,官方文档有提到加--enable-optimizations参数可以提升后期python百分之10的运行速度,不过我加上后发现会编译失败,有如下错误:

...省略部分
Could not import runpy module
Traceback (most recent call last):
...省略部分
SystemError: <built-in function compile> returned NULL without setting an error
generate-posix-vars failed
...省略部分

解决方式网友提出两种:1.升级gcc版本。2.删除--enable-optimizations项。
我不是很在于python的性能,所以采用了删除--enable-optimizations项来解决编译问题。你们可以尝试使用升级gcc的方式。

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

推荐阅读更多精彩内容