Linux 升级 Python 至 3.x

原文链接:http://blog.csdn.net/liang19890820/article/details/51079633

--------------------------------------------

简述

CentOS 7 中默认安装了 Python,版本比较低(2.7.5),为了使用新版 3.x,需要对旧版本进行升级。

由于很多基本的命令、软件包都依赖旧版本,比如:yum。所以,在更新 python 时,建议不要删除旧版本(新旧版本可以共存)。

  • 简述
  • 查看 Python 版本号
  • 下载新版本
  • 解压缩
  • 安装配置
  • 编译 安装
  • 验证
  • 设置 3x 为默认版本
  • 配置 yum

版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820

查看 Python 版本号

当 Linux 上安装 Python 后(默认安装),只需要输入简单的命令,就可以查看 Python 的版本号:

# python -V
Python 2.7.5
  • 1
  • 2
  • 1
  • 2

或者是:

# python --version
Python 2.7.5
  • 1
  • 2
  • 1
  • 2

可以看出,系统自带的 Python 版本是 2.7.5。

下载新版本

进入 Python下载页面,选择需要的版本。

这里,我选择的版本是 3.5.2 。

# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
  • 1
  • 1

这里写图片描述

解压缩

下载完成之后,进行解压缩:

# tar -zxvf Python-3.5.2.tgz
  • 1
  • 1

安装配置

进入解压缩后的目录,安装配置:

# cd Python-3.5.2/
# ./configure 
  • 1
  • 2
  • 1
  • 2

执行 ./configure 时,如果报错:

configure: error: no acceptable C compiler found in $PATH

说明没有安装合适的编译器。这时,需要安装/升级 gcc 及其它依赖包。

# yum install make gcc gcc-c++ 
  • 1
  • 1

完成之后,重新执行:

# ./configure 
  • 1
  • 1

这里写图片描述

编译 & 安装

配置完成之后,就可以编译了:

# make 
  • 1
  • 1

漫长的等待……完成后,安装:

# make install 
  • 1
  • 1

验证

安装成功以后,就可以查看 Python 的版本了:

# python -V
Python 2.7.5
# python3 -V
Python 3.5.2
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

一个是旧版本 2.x,另外一个是新版本 3.x。

注意:在 /usr/local/bin/ 下有一个 python3 的链接,指向 bin 目录下的 python 3.5。

设置 3.x 为默认版本

查看 Python 的路径,在 /usr/bin 下面。可以看到 python 链接的是 python 2.7,所以,执行 python 就相当于执行 python 2.7。

# ls -al /usr/bin | grep python
-rwxr-xr-x.  1 root root      11216 121 2015 abrt-action-analyze-python
lrwxrwxrwx.  1 root root          7 830 12:11 python -> python2
lrwxrwxrwx.  1 root root          9 830 12:11 python2 -> python2.7
-rwxr-xr-x.  1 root root       7136 1120 2015 python2.7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

将原来 python 的软链接重命名:

# mv /usr/bin/python /usr/bin/python.bak
  • 1
  • 1

将 python 链接至 python3:

# ln -s /usr/local/bin/python3 /usr/bin/python
  • 1
  • 1

这时,再查看 Python 的版本:

# python -V
Python 3.5.2
  • 1
  • 2
  • 1
  • 2

输出的是 3.x,说明已经使用的是 python3了。

配置 yum

升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件:

# vi /usr/bin/yum
  • 1
  • 1

同时修改:

# vi /usr/libexec/urlgrabber-ext-down
  • 1
  • 1

将 #!/usr/bin/python 改为 #!/usr/bin/python2.7,保存退出即可。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538499.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sublime Text 3 配置python交互运行环境的快捷键

2019独角兽企业重金招聘Python工程师标准>>> 使用Sublime Text 3能以轻量级的环境写python脚本,运行python代码。为了更加方便地调用python脚本,通过在Sublime Text 3中绑定快捷键的方式,实现一键调用python交互运行环境&#xff…

xftp如何搜索文件_头条搜索站长平台如何添加网站和sitemap文件?附图文教程

头条搜索站长平台已经上线了,目前我们广大站长都可以登录该平台后添加新网站和提交 sitemap 地图文件,建议大家可以前往尝试一下,多一个搜索平台就多一条路,认为倒是挺好的。下面就跟大家简单介绍头条搜索站长平台如何添加网站和提…

Angular4中常用管道

原文链接:http://blog.csdn.net/haijing1995/article/details/71404350 ----------------------------------------------------- Angular4中常用管道 通常我们需要使用管道实现对数据的格式化,Angular4中的管道和之前有了一些变化,下面说一…

mysql死锁无法查询_MySQL死锁导致无法查询

客服反馈后台无法查询,原因大概知道,是因为MySQL的事务产生了死锁,以往都不知道是哪个事务锁住了,只能很粗暴地重启MySQL最近查找到一个方法,不用重启MySQL,记录如下登录到MySQL,来看下有哪些My…

彩铅练习,花船

图片发自简书App图片发自简书App

python 百度ocr识别_Python使用百度Ocr识别文字保存CSV

1.准备:1)Python开发环境, 笔者用的是3.7; 工具用的是Pycharm2)百度云后台创建文字识别的应用, 获取AppID, API key, Secret Key百度云后台创建文字识别的应用3) 百度模块pip install baidu-aip安装百度模块4) 要保存成csv需要用到pandas模块pip Install pandas安装…

chrome解决跨域(CORS)问题---chrome插件

1、chrome浏览器 chrome中跨域问题,可以安装插件解决, 插件地址 https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi 地址需要翻墙 翻墙hosts:https://laod.cn/hosts/2017-google-host…

我的女朋友漏电了–论C++中的失败(failure),缺陷(bug)和异常(exception)

先做个广告置入,如果喜欢这篇文章,你可以到 zhaoyan.website/blog 去查看于此类似的C/C文章。 我承认有点标题党了,不过这真的是一篇写软件的文章,所以如果你已经抽出了一张面巾纸,那么趁早再把它完美的放回去。这篇软…

SQLplus 和mysql区别_mysql和oracle的区别有哪些

MySQL和Oracle都是流行的关系数据库管理系统(RDBMS),在世界各地广泛使用;大多数数据库以类似的方式工作,但MySQL和Oracle的这里和那里总是存在一些差异的。本篇文章就给大家比较Oracle和MySQL,介绍Oracle和MySQL之间的区别&#x…

127.0.0.1与localhost的区别

2019独角兽企业重金招聘Python工程师标准>>> 区别1: localhost也叫local ,正确的解释是:本地服务器 127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器) 他们的解析通过本机的host文件,windows自动将localhost解析为127.…

一个项目经理的贪嗔痴

我有时候在想,自己到底是一个什么角色?产品经理?还是一个项目经理?或者只是一个技术经理。 身边一些朋友说,自己想转行做一个产品经理,做一个伟大的产品。我奉劝他们说还是省省吧,在这样一个二三…

mysql 索引_MySQL之索引

索引查找算法BTREEBTREE查找算法演变B-TREE :普通 BTREE,平衡多路查找树(B-Tree)BTREE :叶子节点双向指针BTREE(B*TREE):枝节点的双向指针普通B-TREE增强版BTREE(B*TREE)总结:从上图看出,在BTree上有两个头…

2010年寒假学习心得

本人的博客园博客:http://www.cnblogs.com/zengmiaogen 博客园是我早期发表的博文。 ------------------------------------------ 1、心态要好,要相信自己能完成,不要担心自己完成不了,万事开头难,有挫折是正常的。…

利用5w1h写出高效的git commit

创建git commit 模板 创建模板 在个人目录下, 创建 .gitmessage vi .gitmessage 复制代码并输入以下信息 Who: Demand maker*When: versions affected*What:The content of the code changes* descrption: * wiki/task:Why:The reason*How:Influence of change* 复制…

python高维数据_t-SNE高维数据可视化(python)

t-SNE实践——sklearn教程t-SNE是一种集降维与可视化于一体的技术,它是基于SNE可视化的改进,解决了SNE在可视化后样本分布拥挤、边界不明显的特点,是目前最好的降维可视化手段。关于t-SNE的历史和原理详见从SNE到t-SNE再到LargeVis。代码见下…

java数学计算表达式_Java初学者:内建函数计算简单的数学表达式

这个应该在之前写的,忘记了,补上这次我们说一下如何用java计算数学表达式的值,比如,我们要计算sin(pi/3) cos(pi/6) 5.6^3,怎么计算呢?这里我们需要用到java的math的内建函数,所谓内建函数&am…

你是怎样的程序员?

一、程序员A 一个善于总结、能举一反三,敢于承担责任,敢于挑战自我,拥抱新技术的程序员,他的年龄意味着丰富经验,意味着效率。 他能指出并带人绕过一个一个技术大坑,笑看风云而不掉进去; 他能指…

谷歌新作gVisor:VM容器融合技术已经到来

作者|秦承刚,吴启翾,喻望,杨伟 编辑|张婵 出处丨高效开发运维 5 月 2 日,谷歌发布了一款新型的沙箱容器运行时 gVisor,号称能够为容器提供更安全的隔离,同时比 VM 更轻量。容器基于共…

安卓androidstudio访问本地接口_安卓开发之数据存储在本地的四种方式

​安卓开发之数据存储在本地的四种方式本地数据存储,在安卓开发过程中是不可避免的一个话题。这些本地的数据可能是用户的设置,程序的设置,用户的数据图片, 也可能是网络传输的一些缓冲数据。基本上我们有4种方法可以存储安卓程序的数据。第1…

java vector 线程安全_关于Vector到底是不是 线程安全的 问题

线程安全,在java的多并发编程中是重要概念,意思是,多个线程同时操作一个对象,在各种不同情况下,都不会造成不同的后果。一个经典问题,Vector到底是不是线程安全的?很多人都会回答,是…