一、下载前准备工作
Centos 7操作系统上默认安装了python 2.7.5版本,但是python 2即将成为历史,python 3才是未来的主流,
在/home目录下面 是空的 ,没有任何文件
需要创建一个文件
mkdir python
移动到/home/python目录下
cd python
pwd 查看当前路径
第一种:通过win本地和虚拟机互传工具,把自己在win本地准备的python3.8的压缩包上传到虚拟机对应的目录下
互传工具:
Xfp
WinSCP 也可以互传的
这里用winscp ,输入ip和密码登录就可以
链接成功
直接在左边win里面把要传的文件,直接鼠标拖动到对应目录下面
传输成功
虚拟机查看
虚拟机和win本地上传文件还可以通过rz命令进行上传
yum install lrzsz
rz:从本地上传文件至服务器
有些安装可能没有上面的提示输入y的命令 我这边是全新创建的一个虚拟机环境才有
直接输入
rz
后面回车找到对应目录,上传就行
上面的步骤都太麻烦,下面这个是最不麻烦的,最简单的,直接用wget 下载到文件夹里面
使用如下命令下载python 3.8:
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
如果提示-bash: wget: 未找到命令,需要先使用yum安装wget,命令如下:
yum -y install wget
然后再使用wget下载python,耐心等候。下载结果如下
先删除,再用命令下载
下载的速度会有点慢,等就完事了,这个方法比上面简单,但是虚拟机下载确实慢,建议用上面的第一种方法
通过以下命令解压缩下载的文件:
tar zxf Python-3.8.0.tgz
结果如下:
这个时候要进入 解压的目录下面
cd Python-3.8.0
因为编译 Python 源代码需要依赖于很多工具,所以得先准备一下,依次执行以下命令:
yum update -y
yum groupinstall -y 'Development Tools'
yum install -y gcc openssl-devel bzip2-devel libffi-devel
yum update -y
这个命令运行后,把所有更新了一遍
这个更新过程也有点久,等吧
yum groupinstall -y 'Development Tools'
yum install -y gcc openssl-devel bzip2-devel libffi-devel
现在我们就可以安装python 3.8了,首先执行以下命令(注意,一定要在Python-3.8.0目录下执行该命令):
./configure prefix=/usr/local/python3 --enable-optimizations
–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
这个是正在编译中,等待他编译完成。
编译完成
这个时候,python安装好了没有,可以去输入
命令
python --version 命令验证是否安装好
从这个上面开,是没有安装好的
我们首先查看一下 Python 可执行文件的位置:
which python
从这个上面,可以看到python3已经被安装到这个目录下面了,和我们想要的目录相对应
然后切换到相应的目录:
cd /usr/bin
输入
ll 命令 可以看到这个目录是虚拟机根目录,有很多文件
查看相关的python信息:
ls -la python*
发现当我们执行python 命令时,系统指向python 2,然后python 2指向python 2.7,所以系统默认使用的python版本仍然是python 2。
首先将python 改名为 python.bak
mv python python2.bak
再次查看python相关信息:
进入目录 /usr/bin
,查看有关yum的文件:
ls -la yum*
使用vi 进入文本编辑器(如果有多个yum配置文件,都要进去修改):
vi yum
点击i进入编辑模式之后将#!/usr/bin/python 改为#!/usr/bin/python2,按ESC退出编辑模式,输入:wq!保存修改退出。
回车
改成
保存退出
通过
cat yum
看看改对了没有,保存了没有
发现对的
同样进入文件 /usr/libexec/urlgrabber-ext-down 做同样修改。
cd /usr/libexec
切换到这个目录里面
查看这个目录有很多文件
我们用命令
vi urlgrabber-ext-down
查看命令,没有问题
进入/usr/bin目录,配置软链接。在我看来,其实软链接就像Windows操作系统里的快捷方式,比如现在桌面上有一个图标叫python,现在你双击打开它,发现它打开的是Python 2,所以我们要配置其指向python 3。
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python
配置后结果:
通过命令查看软连接配置是否成功
ls -la python*
配置成功
如果出现,这个,说前面我们没有安装导致的保存
这个时候,因为没有使用
# 安装
make && make install
命令安装,导致对应的目录,没有生成python文件,这个问题,你重新去安装就会报错,只能重新搞了,
博主这里没有做快照,所以说这台虚拟机是废了,所以我删了这台虚拟机,重新创建了一台,又要配置网关
如果是云服务器就要云服务器重置了,清空所有内容,
太悲剧了,忘记做快照了,所以提醒大家,玩虚拟机一定要做快照,虚拟机玩崩了,还可以快照回去,重新搞,不然只能重新创建虚拟机了。
软连接创建成功如图
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip
如果提示/usr/bin/pip已经存在,可以使用 rm
删除,然后再进行配置。
配置后结果:
提示存在了 ,删除
rm /usr/bin/pip
删除后创建
当然,也可以配置一个pip3软链接。
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3
创建软连接成功
输入python --version和pip -V 验证是否安装成功
输入
python --version
输入下面命令
pip -V
输入
python
命令 测试能不能进入
综合上面验证的,说明,我们的python3.8版本安装成功了