centos7安装python3.7.4_centos7安装python3

centos7中自带的python2,如果要是用python3,就需要自己安装了,因为yum源中没有python3,需要下载包进行源码编译安装,下面是具体安装步骤。

1.安装python3相关依赖包

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

执行这条命令即可,没有报错,表示安装成功

2.运行这两条命令添加epel扩展源和安装python-pip,就算已经安装运行命令也不会有什么影响

添加epel扩展源

yum -y install epel-release

安装python-pip

yum -y install python-pip

3.安装wget命令,如果已安装这条命令,可忽略

yum -y install wget

4.使用wget下载python3源码包,我下的python3.7.4,如需要其他版本,可去https://www.python.org/ftp/python/下载

wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz

5.解压源码包,并且编译安装

#解压,根据下载版本的不同更改后面的名称

xz -d Python-3.7.4.tar.xz

tar -xf Python-3.7.4.tar

#进入解压后的目录,编译并且安装

cd Python-3.7.4

./configure prefix=/usr/local/python3

make && make install

这个过程需要点时间,没有报错表示安装完成

我在安装的时候报了一个错误,ModuleNotFoundError: No module named '_ctypes'

4726de14c658dae18886ffaab836281d416de06f.png

查了一下发现是因为

Python3中有个内置模块叫ctypes,它是Python3的外部函数库模块,它提供兼容C语言的数据类型,并通过它调用Linux系统下的共享库(Shared library),此模块需要使用CentOS7系统中外部函数库(Foreign function library)的开发链接库(头文件和链接库)。

由于在CentOS7系统中没有安装外部函数库(libffi)的开发链接库软件包,所以在安装pip的时候就报了"ModuleNotFoundError: No module named '_ctypes'"的错误。

解决方法:

yum -y install libffi-devel

执行上面这条命令后重新make && make install,这次没有报错,安装成功

6.为了能直接使用python3命令,建立软连接,把python3的bin添加到环境变量中

使用ls命令为python3建立软链接到/usr/bin下面,我是直接使用python3,因为系统默认python命令是启动python2,如果想使用python命令来启动python3,下面会说明

#添加python3的软链接

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3

#添加python3 pip的软连接,我这里直接命名为pip3和python2的区别

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

添加python3路径d到环境bi变量

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

上面这条命令是临时添加,要想永久添加需要在配置文件中添加。

vim /etc/profile

在文件最后添加 export PATH=$PATH:/usr/local/python3/bin

重新加载配置文件

source /etc/profile

查看配置文件是否添加成功

echo $PATH

出现这个表示配置文件添加成功

/usr/local/python3/bin

查看python3和pip3是否添加完成

7947cd5ac3b358b6fb0ec6a9f458e74c909bbb67.png

31f88fac8c3028b057764f48f91374446bd2847f.png

到此python3在centoscentos7上以全部anzhuan安装完成

————————————————————————————————————

下面说一下如何讲 python命令原来指向python2,改成指向python3,让python2指向的是python2.7

#将原来的链接备份

mv /usr/bin/python /usr/bin/python.bak

因为系统默认python2 和 python都是指向python2.7,所以我们改变python命令的指向不会影响Python2的使用

#添加python3的软链接

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

要知道执行到这里,python命令启动的是python3.7,python2命令才是启动python2.7

因为yum命令中使用了python2,所以需要改变一些配置,不然yum会无法使用

vim /usr/bin/yum

把#! /usr/bin/python修改为#! /usr/bin/python2

vim /usr/libexec/urlgrabber-ext-down

把#! /usr/bin/python 修改为#! /usr/bin/python2

原文地址:http://www.lightren.cn/index.php?m=content&c=index&a=show&catid=12&id=2

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值