linux python版本升级
升级python版本的时候千万不能卸载python 2.6,再安装python2.7,这样会有无穷无尽的麻烦,保守的方式
是直接安装python2.7的源码包,也就是python两个版本共存。(因为Centos里面有很多程序是依赖着python,
所有最好不要尝试去卸载python2.6)。
安装python需要用到gcc工具,首先查看gcc是否安装
# gcc -v
如果未安装则使用yum命令安装
# yum -y install gcc
下载最新安装python包
# wget http://python.org/ftp/python/2.7.10/Python-2.7.10.tgz
解压包
# tar -xzvf Python-2.7.10.tgz
编译安装
# cd Python-2.7.10
# ./configure --prefix=/usr/local/python2.7
# make && make install
(
注:如果想用最新的get-pip方式安装pip, 在安装python前先用yum安装依赖包,不然会提示如下错误,
zipimport.ZipImportError: can't decompress data; zlib not available
cannot import name HTTPSHandler
# yum install zlib-devel or yum install zlibc zlib1g-dev
# yum install openssl openssl-devel or openssl*
***让python支持zlib包,还需要在配置(./configure)之后修改Modules/Setup文件,
***# sudo vi Modules/Setup // 找到#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz这行代码(460左右),删除前面的“#”然后再进行编译(make)、安装(make install)
***经测试提前安装好zlib-devel后,无需修改安装文件,也可正常安装get-pip.py
)
建立软连接,使系统默认的python指向python2.7
正常情况下即使python2.7安装成功后,系统默认指向的python仍然是2.6.6版本
如何实现将系统默认的python指向到2.7版本呢?
# mv /usr/bin/python /usr/bin/python.bak
# ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python # 添加软连接
如果是默认安装路径则使用下面命令
# ln -s /usr/local/bin/python2.7 /usr/bin/python
检验python指向是否成功
# python -v
注意以后安装的python工具包例如easy_install,pip等,都会安装在/usr/local/python2.7/bin 目录下
要想直接使用这些命令还需要把/usr/local/python2.7/bin添加到$PATH变量中
1、编辑/etc/profile文件(永久生效)
找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL这行上面加入
PATH=$PATH:/usr/local/python2.7/bin
重新初始化文件,使文件立即生效
source /etc/profile or . /etc/profile
2、在用户目录下的~/.bash_profile文件中增加变量,对单一用户生效(永久的)
3、在shell的命令行下直接使用[export PATH=$PATH:/usr/local/python2.7/bin]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了(临时的)
修复不能正常工作的yum,如果有使用yum的话会发现出错,这是因为yum 依赖2.6.6而现在默认的 Python 版本是2.7.10。
# vi /usr/bin/yum
将首行显示的 !#/usr/bin/python 修改为 !#/usr/bin/python2.6
linux python版本升级的更多相关文章
- python版本升级及pip部署方法
Python版本升级 CentOS 6.3自带的Python版本为2.6,首先需要升级到2.7版本.由于旧版本的Python已被深度依赖,所以不能卸载原有的Python,只能全新安装. 1.下载Pyt ...
- centos python版本升级到3.x
Linux(CentOS)下将Python的版本升级为3.6.2的方法 1.检查确认系统的相关信息 查看内核版本[root@zstest1 ~]# cat /etc/redhat-release Ce ...
- kali linux Python开发环境初始化
kali linux Python 黑客编程1 开发环境初始化 为什么要选择Python? Python作为目前Linux系统下最流行的编程语言之一,对于安全工作者的作用可以和C++相提并论.Pyth ...
- python 版本升级
python 版本升级 升级python 查看python的版本 python -V Python 2.6.6 下载新版本 wget https://www.python.org/ftp/python ...
- linux python 安装 nose lapack atlas numpy scipy
linux python 安装 nose lapack atlas numpy scipy --http://lib.csdn.net/article/python/1262 作者:maple1149 ...
- Xshell 连接centOS虚拟机、centOS内置python版本升级
Xshell 连接虚拟机 前置条件:VMware Workstation 12.5.1.Xshell 5 . centOS 6.6 1.打开虚拟机,输入用户名和密码: 2.输出命令:ifconfig ...
- 【python】python版本升级,从2.6.6升级到2.7.13
centos6.5系统自带了2.6.6版本的python,有时候为了项目上的需要,需要将python版本升级到2.7.13,下面介绍了如何进行升级. 说明:python从2.6升级到2.7会引发很多问 ...
- linux的python版本升级
可利用Linux自带下载工具wget下载,如下所示: # wget http://www.python.org/ftp/python/2.7.3/Python-2.7.13.tgz 下载完成后 ...
- LINUX 中 python 版本升级
首先下载源tar包 可利用linux自带下载工具wget下载,如下所示: 1 # wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tg ...
随机推荐
- mysql TIMESTAMP详解
navicat中设置timestamp字段的时间,默认这里填写CURRENT_TIMESTAMP,就是在插入数据的时候按照当前时间插入: 勾选根据当前时间戳更新,表示在UPDATE的时候,会根据当前时 ...
- javascript实现的图数据结构的广度优先 搜索(Breadth-First Search,BFS)和深度优先搜索(Depth-First Search,DFS)
最后一例,搞得快.三天之内走了一次.. 下一步,面象对像的javascript编程. function Dictionary(){ var items = {}; this.has = functio ...
- hrbustoj 1161:Leyni(树状数组练习)
LeyniTime Limit: 3000 MS Memory Limit: 65536 KTotal Submit: 260(59 users) Total Accepted: 80(55 user ...
- Java Hour 51 CheckStyle
Plan List: 1 mysql 相关 2 java code style 安装体验 1 直接从eclipse install new software 安装,莫名奇妙失败,提示为缺少依赖项. 这 ...
- 11、使用 WinAppDeployCmd 部署appx 包到 Windows10 Mobile上(更新)
在 Windows10 Mobile开发工具里,微软没有提供 wp8 sdk 中 Application Deployment 一样的部署工具,参考 了一下 StackOverflow 论坛上的帖子 ...
- laravel 安装及入门
Composer安装过程 一.安装Composer 首先你需要安装Composer,Composer是PHP依赖管理工具,Laravel框架就是使用 Composer 执行安装和依赖管理. 注: ( ...
- scp 使用
[spark-hadoop@master ~]$ sudo scp /etc/profile spark-hadoop@slave1:/etc spark-hadoop@slave1's passwo ...
- Loadrunner关联
学习LoadRunner之关联(二) Lr学习之关联-随机删除一行数据和全部删除数据 录制一个系统,我录制的是一个交通方面的系统,登陆到系统里面,查询车牌颜色,将其中一条数据删除. "Nam ...
- asp.net控件开发基础(1)(转)原文更多内容
asp.net本身提供了很多控件,提供给我们这些比较懒惰的人使用,我认为控件的作用就在此,因为我们不想重复工作,所以要创建它,这个本身便是一个需求的关系,所以学习控件开发很有意思. wrox网站上有本 ...
- JVM的粗略简述
什么是Java虚拟机 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java虚拟机有自己完善的硬体架构,如处理器.堆栈.寄存器等,还具有相应的指令系统.JVM屏蔽了与 ...