天天看点

Linux 安装python 3.8(Linux 的版本为 Centos 7)

Linux 安装python 3.8(Linux 的版本为 Centos 7)

一、下载前准备工作

Centos 7操作系统上默认安装了python 2.7.5版本,但是python 2即将成为历史,python 3才是未来的主流,

Linux 安装python 3.8(Linux 的版本为 Centos 7)

在/home目录下面 是空的 ,没有任何文件

Linux 安装python 3.8(Linux 的版本为 Centos 7)

需要创建一个文件

mkdir python      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

移动到/home/python目录下

cd python      
Linux 安装python 3.8(Linux 的版本为 Centos 7)
pwd  查看当前路径      

二。安装python3.8的版本 ,安装有2种方式:

第一种:通过win本地和虚拟机互传工具,把自己在win本地准备的python3.8的压缩包上传到虚拟机对应的目录下

互传工具:

Xfp

Linux 安装python 3.8(Linux 的版本为 Centos 7)

WinSCP 也可以互传的

Linux 安装python 3.8(Linux 的版本为 Centos 7)

这里用winscp ,输入ip和密码登录就可以

链接成功

Linux 安装python 3.8(Linux 的版本为 Centos 7)

直接在左边win里面把要传的文件,直接鼠标拖动到对应目录下面

传输成功

Linux 安装python 3.8(Linux 的版本为 Centos 7)

虚拟机查看

Linux 安装python 3.8(Linux 的版本为 Centos 7)

虚拟机和win本地上传文件还可以通过rz命令进行上传

yum install lrzsz      

rz:从本地上传文件至服务器

Linux 安装python 3.8(Linux 的版本为 Centos 7)
Linux 安装python 3.8(Linux 的版本为 Centos 7)
Linux 安装python 3.8(Linux 的版本为 Centos 7)

有些安装可能没有上面的提示输入y的命令 我这边是全新创建的一个虚拟机环境才有

直接输入

rz      

后面回车找到对应目录,上传就行

Linux 安装python 3.8(Linux 的版本为 Centos 7)

上面的步骤都太麻烦,下面这个是最不麻烦的,最简单的,直接用wget 下载到文件夹里面

下载python 3.8压缩包

使用如下命令下载python 3.8:

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

如果提示-bash: wget: 未找到命令,需要先使用yum安装wget,命令如下:

Linux 安装python 3.8(Linux 的版本为 Centos 7)
yum -y install wget      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

然后再使用wget下载python,耐心等候。下载结果如下

Linux 安装python 3.8(Linux 的版本为 Centos 7)

先删除,再用命令下载

Linux 安装python 3.8(Linux 的版本为 Centos 7)

下载的速度会有点慢,等就完事了,这个方法比上面简单,但是虚拟机下载确实慢,建议用上面的第一种方法

三、解压缩安装包

通过以下命令解压缩下载的文件:

tar zxf Python-3.8.0.tgz      

结果如下:

Linux 安装python 3.8(Linux 的版本为 Centos 7)

这个时候要进入 解压的目录下面

cd Python-3.8.0      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

安装前要下载一些依赖

因为编译 Python 源代码需要依赖于很多工具,所以得先准备一下,依次执行以下命令:

yum update -y
yum groupinstall -y 'Development Tools'
yum install -y gcc openssl-devel bzip2-devel libffi-devel      
yum update -y      

这个命令运行后,把所有更新了一遍

Linux 安装python 3.8(Linux 的版本为 Centos 7)

这个更新过程也有点久,等吧

yum groupinstall -y 'Development Tools'      
Linux 安装python 3.8(Linux 的版本为 Centos 7)
yum install -y gcc openssl-devel bzip2-devel libffi-devel      
Linux 安装python 3.8(Linux 的版本为 Centos 7)
开始安装python 3.8

现在我们就可以安装python 3.8了,首先执行以下命令(注意,一定要在Python-3.8.0目录下执行该命令):

./configure prefix=/usr/local/python3 --enable-optimizations      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

–prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share,比较凌乱。

如果配置–prefix,如:./configure --prefix=/usr/local/python3可以把所有资源文件放在 /usr/local/python3 的路径中,不会杂乱.用了–prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个相同的操作系统机器即可.当然要卸载程序,也可以在原来的make 目录下用一次make uninstall,但前提是make文件指定过uninstall.

–enable-optimizations是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 10% 左右的优化,但是这会明显的增加编译时间,老久了.

./configure命令执行完毕之后创建一个文件 Makefile, 供下面的make命令使用,执行make install之后就会把程序安装到我们指定的文件夹中去。

make && make install      
Linux 安装python 3.8(Linux 的版本为 Centos 7)
Linux 安装python 3.8(Linux 的版本为 Centos 7)

这个是正在编译中,等待他编译完成。

编译完成

Linux 安装python 3.8(Linux 的版本为 Centos 7)

这个时候,python安装好了没有,可以去输入

命令

python --version  命令验证是否安装好      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

从这个上面开,是没有安装好的

修改 python 2 链接,把原本Centos 7自带的python 2.7.5版本指向地址修改一下

我们首先查看一下 Python 可执行文件的位置:

which python      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

从这个上面,可以看到python3已经被安装到这个目录下面了,和我们想要的目录相对应

然后切换到相应的目录:

cd /usr/bin      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

输入

ll   命令  可以看到这个目录是虚拟机根目录,有很多文件      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

查看相关的python信息:

ls -la python*      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

发现当我们执行python 命令时,系统指向python 2,然后python 2指向python 2.7,所以系统默认使用的python版本仍然是python 2。

首先将python 改名为 python.bak

mv python python2.bak      

再次查看python相关信息:

Linux 安装python 3.8(Linux 的版本为 Centos 7)
接下来 进入修改yum配置文件步骤

进入目录 ​

​/usr/bin​

​,查看有关yum的文件:

ls -la yum*      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

使用vi 进入文本编辑器(如果有多个yum配置文件,都要进去修改):

vi yum      

点击i进入编辑模式之后将#!/usr/bin/python 改为#!/usr/bin/python2,按ESC退出编辑模式,输入:wq!保存修改退出。

Linux 安装python 3.8(Linux 的版本为 Centos 7)

回车

改成

Linux 安装python 3.8(Linux 的版本为 Centos 7)

保存退出

通过

cat yum      

看看改对了没有,保存了没有

Linux 安装python 3.8(Linux 的版本为 Centos 7)

发现对的

同样进入文件 /usr/libexec/urlgrabber-ext-down 做同样修改。

cd /usr/libexec      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

切换到这个目录里面

Linux 安装python 3.8(Linux 的版本为 Centos 7)

查看这个目录有很多文件

我们用命令

vi  urlgrabber-ext-down      
Linux 安装python 3.8(Linux 的版本为 Centos 7)
Linux 安装python 3.8(Linux 的版本为 Centos 7)

查看命令,没有问题

Linux 安装python 3.8(Linux 的版本为 Centos 7)
下面进入 配置python 3软链接步骤

进入/usr/bin目录,配置软链接。在我看来,其实软链接就像Windows操作系统里的快捷方式,比如现在桌面上有一个图标叫python,现在你双击打开它,发现它打开的是Python 2,所以我们要配置其指向python 3。

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

配置后结果:

Linux 安装python 3.8(Linux 的版本为 Centos 7)

通过命令查看软连接配置是否成功

ls -la python*      

配置成功

如果出现,这个,说前面我们没有安装导致的保存

Linux 安装python 3.8(Linux 的版本为 Centos 7)

这个时候,因为没有使用

# 安装
make && make install      

命令安装,导致对应的目录,没有生成python文件,这个问题,你重新去安装就会报错,只能重新搞了,

博主这里没有做快照,所以说这台虚拟机是废了,所以我删了这台虚拟机,重新创建了一台,又要配置网关

如果是云服务器就要云服务器重置了,清空所有内容,

太悲剧了,忘记做快照了,所以提醒大家,玩虚拟机一定要做快照,虚拟机玩崩了,还可以快照回去,重新搞,不然只能重新创建虚拟机了。

软连接创建成功如图

Linux 安装python 3.8(Linux 的版本为 Centos 7)
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip      

如果提示/usr/bin/pip已经存在,可以使用 ​

​rm​

​删除,然后再进行配置。

配置后结果:

Linux 安装python 3.8(Linux 的版本为 Centos 7)

提示存在了 ,删除

rm /usr/bin/pip      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

删除后创建

Linux 安装python 3.8(Linux 的版本为 Centos 7)

当然,也可以配置一个pip3软链接。

ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

创建软连接成功

验证是否安装成功

输入python --version和pip -V 验证是否安装成功

输入

python --version      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

输入下面命令

pip -V      
Linux 安装python 3.8(Linux 的版本为 Centos 7)

输入

python      

命令 测试能不能进入