centOS安装python3及pip3

本文档详细介绍了在CentOS7上安装Python3和pip3的完整过程,包括Python2的备份、依赖关系的安装、Python3安装包的下载与编译、创建软连接以及修改环境变量PATH。同时,文中还提到了可能出现的问题及其解决方案,如安装openssl、libffi-devel等依赖,以及如何独立安装和卸载pip3。

centOS安装python3及pip3

第一步:python2备份

centOS的yum是基于python2.7的,将python备份为python2.7可能导致yum命令不可用,可跳过备份步骤,直接从步骤二开始。
默认Centos7中是有python安装的,但是是2.7版本,我们需要安装py3。我们去看一下默认的py2.7在哪里。

[root@localhost bin]# cd /usr/bin
[root@localhost bin]# ls python*
python python2 python2.7
[root@localhost bin]#

三个显示结果中最后一个是python2.7,实际上这几个文件之间是有依赖关系的。在ls 后面加个 -al参数,如下:

[root@localhost bin]# ls -al python*
lrwxrwxrwx. 1 root root 33 Oct 21 12:30 python -> python2
lrwxrwxrwx. 1 root root 9 Oct 19 23:55 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 Aug 4 08:40 python2.7
[root@localhost bin]#

依赖关系很明显就可以看到。我们要安装版本3,首先要把刚才显示的三个python文件中的第一个python给备份一下(不保留源文件,仅保留备份文件就可以)

使用如下命令:

[root@localhost bin]# mv python python.bak

python文件变成了python.bak文件,bak文件就放这里吧,再也不用管它了。避免以后麻烦,就留在这里不用删除。系统准备好了,接下来,我们要去下载了。

第二步:依赖关系

更新

[root@localhost ~]# yum update

[root@localhost ~]# yum -y install zlib-devel
(https://www.jianshu.com/p/6ca263642afc)
[root@localhost ~]# yum -y install bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
(https://blog.youkuaiyun.com/zuolovefu/article/details/78142507)

问题描述:“no module named ‘_ctypes’’”
Python3 中有个内置模块叫 ctypes,它是 Python3 的外部函数库模块,它提供兼容 C 语言的数据类型,并通过它调用 Linux 系统下的共享库(Shared library),此模块需要使用 CentOS 7 系统中外部函数库(Foreign function library)的开发链接库(头文件和链接库)。
所以错误原因是:在 CentOS 7 系统中没有安装外部函数库(软件包名:libffi)的开发链接库软件包。
CentOS 7 系统下外部函数库(libffi)的开发链接库软件包是 libffi-devel,只要安装此软件包即可解决:(https://blog.youkuaiyun.com/oZhengTuoJiaSuo/article/details/82427076)

[root@localhost ~]# yum -y install libffi-devel

问题描述:“cannot import name ‘httpshandler’”
原因在于openssl,openssl-devel两个文件包未正确安装或者安装顺序出错。
用下来的命令来安装:(参考: https://www.cnblogs.com/liangmingshen/p/9515355.html)

[root@localhost ~]# yum install openssl -y
[root@localhost ~]# yum install openssl-devel -y

问题描述:no acceptable C compiler found in $PATH
在这里插入图片描述
系统路径中未找到C编译器,服务器新装的系统竟然连gcc都没有。。安装gcc:

[root@localhost ~]# yum install gcc

第三步:安装包下载

比较推荐下面这种方式,我们在linux上找一个目录,然后使用wget命令下载到这个目录,然后解压->安装。如下:

https://www.python.org/ftp/python/ 这个是所有的python版本存放的地方。我们想使用哪个版本就用哪个。
在这里插入图片描述

很多版本,这里选择的是比较新的3.7.0,点进去,找到下面这个文件。Python-3.7.0.tgz,右键’copy link address’
在这里插入图片描述
在Python-3.7.0.tgz上右键’copy link address’可得到如下地址:(如果是其他版本道理与这个是一样的)

https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

链接准备好了,我们在Centos 7上创建一个目录吧。一般选择的是/usr/local里面的,如下命令(当前我们依然还在之前的/usr/bin目录下面,先不要动,还在这里):

[root@localhost bin]# mkdir /usr/local/python3

目录创建好了,我们就cd切换进去,使用wget下载安装包到当前目录:

[root@localhost bin]# cd /usr/local/python3
[root@localhost python3]# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

若未安装wget可通过命令:yum install wget -y进行安装。
等待下载完成之后会在当前目录下出现一个tgz包,命令解压这个包到当前目录就可以:

# 解压命令
[root@localhost python3]# tar -xvf Python-3.6.3.tgz 
# 解压完成后,查看目录下文件
[root@localhost python3]# ll
total 22148
drwxr-xr-x. 17  501  501     4096 Oct 21 12:22 Python-3.6.3
-rw-r--r--.  1 root root 22673115 Oct  3 15:47 Python-3.6.3.tgz
第四步:编译安装

下载的安装包是未经过编译的,需要编译一下:

[root@localhost python3]# cd Python-3.6.3/
[root@localhost Python-3.6.3]#

然后如下命令(指定安装位置为当前目录下新建的python3dir文件夹):

[root@localhost Python-3.6.3]# ./configure --prefix=/usr/local/python3Dir

稍微解释上面这句命令,这句话的大致目的就是把python的安装目录指定一下,这样的话,里面的一些bin目录、lib目录就都会存放在这个目录下面。如果不指定这个安装目录的话,最后python的安装文件将分散到linux的默认目录,不在一块。我们指定安装目录,以后卸载的话直接删除目录就可以干净卸载了。

# 编译安装
# ./configure --help查看编译参数
# 默认安装在'/usr/local/bin','/usr/local/lib' etc
# 可以通过参数指定如:--prefix=/usr/local/python3

现在我们当前目录还是在/usr/local/python3/Python-3.6.3,执行如下命令:

[root@localhost Python-3.6.3]# make

然后出来一大

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值