centos7.2默认已经安装了python2.7.5,因此要安装python3.6的话,得从python官网上下载相应版本的安装包

查看python2.7

1、下载:wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

2、解压:tar -xvJf  Python-3.6.2.tar.xz     或者 xz -d Python-3.6.2.tar.xz 解压成 Python-3.6.2.tar

tar  xvf Python-3.6.2.tar

3、进入解压目录编译安装

./configure prefix=/usr/local/python
make
make install

4、软连接

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

会提示报错

因为已经默认指向了python2,所以把原来的python备份

在 /usr/bin下

mv python python.bak

5、软连接建立完成后

python -V

python2 -V

但是进入python3 后,发现退格键,上下键无法使用

是缺少一些依赖包导致。因此要安装一些依赖包。

使用yum安装,因为yum用到的还是python2

所以需要修改yum的文件,改为python2

继续报错

根据错误提示,修改 /usr/libexec/urlgrabber-ext-down 文件也改成python2

再次执行

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

清空yum 缓存

yum clean all

yum makecache

然后重新yum,此时yum成功完成

再运行python

可以发现退格,上下键还不能使用

单独安装readline

pip install readline

结果发现pip没有安装,需到官网下载pip安装包

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9

下载好后,提示

下载setuptools

wget https://pypi.python.org/packages/3e/ec/9fec74fc9e96dca889df66833fc2b5eb0a158d3d6a71b9ad016dfd2a301f/setuptools-19.6.2.tar.gz#md5=ec3c428f0b81f75c8b9d19e9815da5d9

进入setptools的解压目录

python setup.py install

结果又报错

发现应该是python3执行的时候报错

改用python2 setup.py install解决

至于安装pip报错的缘故也是python3 不兼容导致。

用python2执行后,pip也安装成功

执行pip install readline
结果还是报错
 
至于出现这个错误需安装 python-devel这个模块
 
yum install python-devel 
安装好后,再执行pip install readline 提示成功

同时考虑重新编译安装python3.6.2

编译构成报错

于是改用安装最新的setuptools,支持python3.6.2的安装包,同时pip也用最新的包
 
结果还是提示上面的报错。这时候,下载zlib的最新安装包
wget http://zlib.net/zlib-1.2.11.tar.gz
编译安装zlib
./configure
make & make install
 
然后再次重新编译安装 python3.6.2
此次编译安装再没有出错
同时也提示pip9.0和setuptools安装成功
 
 
特地去pip和setuptools的安装目录下执行了 python setup,py install 提示都成功了
再到python的交互模式下,按上下键,退格键也不会再出现乱码。
至此python3和python2都可以正常使用。终于把环境搭建成功

centos7.2下安装python3.6.2的更多相关文章

  1. Centos7环境下安装python3.6.4 并与python2共存

    最近安装了新系统centos7,本身自带python2.7,但是由于需要使用python3 来运行一些应用,所以想到在centos环境下安装python3,并保证其和python2 可以共存. 步骤如 ...

  2. Centos7.6下安装Python3.7

    前言 话说不会开发的运维不是一个好的DBA,所以我要开始学习python了,写博客记录一下我的学习过程,另外别欺负我新来的,那个每天更博的技术流ken是我哥. 不说了,时间宝贵,开整. 1.首先来看一 ...

  3. Centos7.7下安装Python3.7 并兼容python2.7

    前言 1.首先来看一下系统版本 [root@python3 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1810 (Core) 2.更新一 ...

  4. CentOS7.5下安装Python3.7 --python3

    1.将本地安装包上传到远程主机上 scp Python-3.7.0.tgz root@123.206.74.24:/root 2.扩展 安装Python之前安装Python相关的依赖包(主要是u红色部 ...

  5. centos7.2下安装python3.6.5

    yum groupinstall 'Development Tools' 出现错误 系统 centos 7.3 使用命令 yum groupinstall 'Development Tools' 出现 ...

  6. Centos7.4下安装Python3

    安装Python3 安装依赖包 yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-de ...

  7. centos7下安装python3.7

    记录在2018年最后一个工作日: Linux环境坑爹得要死,环境本身有python2和python3.7两个版本:安装django2的时候,发现默认是python2:把python软连接到python ...

  8. Windows下安装Python3.4.2

    一.Windows下安装Python3.4.2 1.下载Windows下的Python3.4.2.exe 2.指定一个目录安装,然后下一步 3.配置环境变量包括Python.exe的文件.目录如下图所 ...

  9. Linux下安装Python3.3.0

    Linux下安装Python3.3.0_路易_新浪博客 Linux下安装Python3.3.0 (2013-01-08 11:45:37)

随机推荐

  1. [leetcode]252. Meeting Rooms会议室有冲突吗

    Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...

  2. Java 对象 引用,equal == string

    以前确实一直没注意这个概念,这次看了帖子才知道. 转载于:https://zwmf.iteye.com/blog/1738574 Java对象及其引用 关于对象与引用之间的一些基本概念. 初学Java ...

  3. ios简单国际化

    1.在PROJECT中Info得Localizations中添加语言 2.新建Localizable.strings(一定是这个文件名),在右侧属性栏的Localization中勾选出你需要的语言 3 ...

  4. mysql 定时任务的使用

    mysql5.1.6增加了一个事件调度器(Event Scheduler),可以做定时任务(定时删除记录,定时数据统计),取代之前系统的计划任务.mysql事件调度器可以精确到每秒执行一个任务. 事件 ...

  5. 微信公众号H5支付步骤

    微信公众平台:https://mp.weixin.qq.com/ 进入 微信支付 管理>开通支付功能. 微信支付|商户平台: 设置安全目录:https://pay.weixin.qq.com/i ...

  6. 半吊子的STM32 — IIC通信

    半双工通信模式:以字节模式发送(8位): 两线式串行总线,SDA(数据信号)和SCL(时钟信号)两条信号线都为高电平时,总线为空闲状态:起始时,SCL稳定为高电平,SDA电平由高向低跳变:停止时,SC ...

  7. JS如何获取上传标签的文件路径和文件名?

    如何使用JS获取type="file"的标签上传文件的文件路径及文件名: 代码: <!doctype html><html lang="en" ...

  8. C# 获取 存储过程 返回值

    C#获取存储过程的返回值,这一方法,总是容易忘,今天给贴出来,以方便下次使用 存储过程: CREATE  PROCEDURE [dbo].[Proc_GetInfo]     ),     ) out ...

  9. tableView中cell的复用机制

    TableView的重用机制,为了做到显示和数据分离,IOS tableView的实现并且不是为每个数据项创建一个tableCell.而是只创建屏幕可显示最大个数的cell,然后重复使用这些cell, ...

  10. pthon 反转嵌套的list

    def rev_recursive(li): try: iterator = iter(li) except TypeError: return li l = [] for item in itera ...