python2.6.6如何升级到python2.7.14


Posted in Python onApril 08, 2018

其实网上有很多关于python2.6.6 升级到python2.7的文章,但是我对比这些类似的文章升级之后,发现其中有错误的地方,于是决定还是自己写一个真正的升级过程。

我的虚拟机里安装的是CentOS 6.5里面默认安装的Python2.6.6,因为要学习TensorFlow,所以决定升级到2.7

1、下载安装包

其实在python官网上有个目录列举出了各个版本的下载安装包,点击这里,可以看到

python2.6.6如何升级到python2.7.14

这里是按照发布时间排列的,往下拉可以找到已经发布的各个版本,我们找到2.7.14,这个是比较重要的一个版本

python2.6.6如何升级到python2.7.14

点击这里的Python-2.7.14.tgz可以直接下载安装包文件,也可以使用wget来直接下载,如果需要安装的服务器无法直接访问外网,可以使用下载安装包文件的方式,如果可以访问外部推荐使用wget方式。

wget https://www.python.org/ftp/python/Python-2.7.14.tgz

无论用哪种方式,下载到安装包之后都会得到Python-2.7.14.tgz这个安装文件

2、解压配置

解压安装文件

tar -zvf Python-2.7.14.tgz  

得到 Python-2.7.14文件夹

cd Python-2.7.14

./configure --prefix=/usr/local/python2.7

执行之后提示是这样

[root@node2 Python-2.7.14]# ./configure --prefix=/usr/local/python2.7 
checking build system type... x86_64-pc-linux-gnu 
checking host system type... x86_64-pc-linux-gnu 
checking for python2.7... no 
checking for python3... no 
checking for python... python 
checking for --enable-universalsdk... no 
checking for --with-universal-archs... 32-bit 
checking MACHDEP... linux2 
checking EXTRAPLATDIR... 
checking for --without-gcc... no 
checking for --with-icc... no 
checking for gcc... no 
checking for cc... no 
checking for cl.exe... no 
configure: error: in `/opt/package/python_lib/Python-2.7.14': 
configure: error: no acceptable C compiler found in $PATH 
See `config.log' for more details

提示:no acceptable C compiler found in $PATH

于是赶紧测试下gcc果然这个不存在,可能是虚拟机在安装CentsOS时没有选择安装GCC

[root@node2 Python-2.7.14]# gcc 
-bash: gcc: command not found 
[root@node2 Python-2.7.14]# yum -y install gcc

执行yum -y install gcc安装了gcc ,重新执行./configure --prefix=/usr/local/python2.7可以正常安装python

执行make

执行make install

然后进入/usr/local/python2.7/bin,这个目录的内容如下:

[root@node2 bin]# ll 
总用量 6164 
-rwxr-xr-x. 1 root root 111 11月 9 19:24 2to3 
-rwxr-xr-x. 1 root root 109 11月 9 19:24 idle 
-rwxr-xr-x. 1 root root 94 11月 9 19:24 pydoc 
lrwxrwxrwx. 1 root root 7 11月 9 19:27 python -> python2 
lrwxrwxrwx. 1 root root 9 11月 9 19:27 python2 -> python2.7 
-rwxr-xr-x. 1 root root 6273995 11月 9 19:24 python2.7 
-rwxr-xr-x. 1 root root 1697 11月 9 19:27 python2.7-config 
lrwxrwxrwx. 1 root root 16 11月 9 19:27 python2-config -> python2.7-config 
lrwxrwxrwx. 1 root root 14 11月 9 19:27 python-config -> python2-config 
-rwxr-xr-x. 1 root root 18557 11月 9 19:24 smtpd.py 
[root@node2 bin]#

3、测试

在这个目录下执行python2或者python2.7都可以出现python的提示符表示安装成功

python2.6.6如何升级到python2.7.14

4、建立软连接

1)备份python2.6.6的启动文件

mv /usr/bin/python /usr/bin/python2.6.6

2)创建用于启动python2.7.14的软连接

ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python,有的文章里写的是下面这样:ln -s /usr/local/bin/python2.7 /usr/bin/python ,事实证明是有错误的。因为编译好的python2.7.14可执行文件在/usr/local/python2.7/bin/这个目录下面并不在/usr/local/python2.7目录下,同时创建符号链接也需要指定具体的可执行文件名才行。

5.测试

下面我们测试下创建好的软连接

python2.6.6如何升级到python2.7.14

如果软链接的->后面是红色显示的字体,通常表示这个软连接指向的路径是无效的。

此时我们换个其他的目录,比如在/下面执行下python,

python2.6.6如何升级到python2.7.14

可以看到提示的Python2.7.14,证明安装成功,但是还没有彻底结束

6. 配置yum启动路径

yum不兼容 Python 2.7,但是我们现在已经把Python2.6.6升级成了Python2.7.14, 所以yum不能正常工作,我们需要指定 yum 的Python版本:

vim /usr/bin/yum

将头部#!/usr/bin/python 改成#!/usr/bin/python2.6.6(刚刚备份的)

python2.6.6如何升级到python2.7.14

然后保存退出即可。

如果我们想要启动老版本python2.6.6,可以执行python2.6.6即可,如果是想启动python2.7,只需要执行python即可

因此这里的升级不是把python2.6.6彻底干掉,而是重新安装了python2.7.14.而且也兼顾到yum的使用。

更多精彩书单,请点击python编程必备书单

领取干货:零基础入门学习python视频教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Django框架中自定义模版标签的示例
Jul 20 Python
Python中的连接符(+、+=)示例详解
Jan 13 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
Python selenium抓取微博内容的示例代码
May 17 Python
python实现视频分帧效果
May 31 Python
django云端留言板实例详解
Jul 22 Python
django框架模型层功能、组成与用法分析
Jul 30 Python
python 函数中的参数类型
Feb 11 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
Jun 04 Python
Python bisect模块原理及常见实例
Jun 17 Python
PyTorch的torch.cat用法
Jun 28 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
python解决pandas处理缺失值为空字符串的问题
Apr 08 #Python
利用Pandas 创建空的DataFrame方法
Apr 08 #Python
django启动uwsgi报错的解决方法
Apr 08 #Python
python 2.7.14安装图文教程
Apr 08 #Python
详解Python中的动态属性和特性
Apr 07 #Python
简单谈谈Python的pycurl模块
Apr 07 #Python
VSCode下好用的Python插件及配置
Apr 06 #Python
You might like
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
PHP实现登陆表单提交CSRF及验证码
2017/01/24 PHP
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
js保留小数点后几位的写法
2014/01/03 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
Javascript中Date类型和Math类型详解
2016/02/27 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
实例讲解jQuery中对事件的命名空间的运用
2016/05/24 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
js实现登录与注册界面
2017/11/01 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
JS使用Date对象实时显示当前系统时间简单示例
2018/08/23 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
javascript History对象原理解析
2020/02/17 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
Sanic框架配置操作分析
2018/07/17 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
Jupyter notebook如何实现指定浏览器打开
2020/05/13 Python
django models里数据表插入数据id自增操作
2020/07/15 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
单位实习工作证明怎么写
2014/11/02 职场文书
感谢信
2019/04/11 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
Python OpenCV 图像平移的实现示例
2021/06/04 Python
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js