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的方式。