在CENTOS8上单独编译安装python3

, Read in about 3 min

Posted by Ryen on Thursday, September 30, 2021
With final update in December 26,2023

本文总阅读量

centos6因为python2和python3兼容的问题一直无法彻底解决,python3一旦安装影响到python2,centos6就用不了

不过centos8对python友好也是相对的,有很多问题,比如用yum或者DNF安装python3会导致pip不能更新到最新版本,只有编译安装的方法是最好的,不过编译的方式略复杂一点。好处就是可以更新到最新版本。以下就是编译过程。

先准备一台纯净的centos8,我选择的是虚拟机。

第一步:必备的插件:
(1)先升级: 

yum install -y update

(2)再安装 gcc和make插件:

yum install gcc gcc-c++

yum -y install gcc automake autoconf libtool make

yum groupinstall -y 'Development Tools'

yum install -y gcc openssl-devel bzip2-devel libffi-devel

第二步 下载和编译python3.8.1

(1)在官方网站下载最新版本python3.8.1

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

解压缩:

tar -zxvf Python-3.8.1.tgz 

(2)用脚本检验整个编译环境(进入文件夹编译)

./configure prefix=/usr/local/python3 --enable-optimizations

(3)用make命令编译安装

make && make install

(4)修改环境变量

export PATH=$PATH:/usr/local/python3/bin/

(5)建立指向新python3和PIP 3的软链接

ln -s /usr/local/python3/bin/python3.8 /usr/bin/python 
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip 

(6)检查

python -V 
pip -V 

第三步 安装PIP

(1)#curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
(2)#python3.8 get-pip.py
(3)测试 #python -V

这样python3就正常安装到centos8上了。

异常处理1:

make 命令出现:“make:*** No targets specified and no makefile found.Stop.”

Linux 安装包的时候,使用make 命令出现:“make:*** No targets specified and no makefile found.Stop.“这样的错误提示。

我们有三种方式可以尝试解决:

第一种:

第一、update最新版本系统软件

yum update

这个必须要执行后才可以安装我们的系统软件或者一键包。

第二、编译缺失关联软件

yum install gcc build-essential

编译执行完毕之后,我们在执行./configure && make这类的执行命令就可以解决问题。

第二种:

一、Linux下各种依赖都已经安装,是因为没有找到makefile。

如果是自己写的,确定在当前目录下;如果是源码安装,先运行./configure,生成makefile,再执行make,即可正常运行。

二、如果没有安装其他依赖先安装依赖

yum install gcc gcc-c++ autoconf automake

#(安装依赖zlib、openssl和pcre)
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel 

第一、update最新版本系统软件

apt-get update

这个必须要执行后才可以安装我们的系统软件或者一键包。

第二、编译缺失关联软件

apt-get install gcc build-essential

编译执行完毕之后,我们在执行./configure && make这类的执行命令就可以解决问题。

补充二:可能是因为没有安装gcc 是用来编译c程序 c++程序的,

yum-y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-develfreetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-develglib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devele2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel opensslopenssl-devel openldap openldap-devel nss_ldap openldap-clientsopenldap-servers

补充三:

wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
tar zxvf ncurses-5.6.tar.gz
./configure -prefix=/usr/local -with-shared -without-debug
make
make install

异常处理2:

Linux源码安装执行./configure报:No such file or directory

说明当前安装目录下没有这个configure文件。
而有的软件包并不是用makefile的,或者makefile已经写好,不用config了,因此不提供configure。你可以看文件夹里是否有makefile文件,若有,可以直接使用make编译,make install安装;如果没有,看是否有setup、install等sh文件或其它可执行文件。还有一种情况,这个软件解压即可运行。

「真诚赞赏,手留余香」

Ryen's Blog

真诚赞赏,手留余香

使用微信扫描二维码完成支付