1、可利用linux自带下载工具wget下载,如下所示:(
笔者安装的是最小centos系统,所以使用编译命令前,必须安装wget服务,读者如果安装的是界面centos系统,或者使用过编译工具则可跳过安装wget,直接进行下边的编译步骤 )
 
2、下载完成后到下载目录下,解压
tar -xzvf Python-3.3.0.tgz
 
3、进入解压缩后的文件夹
cd Python-3.3.0  
 

 
4、在编译前先在/usr/local建一个文件夹python3(作为python的安装路径,以免覆盖老的版本)
mkdir /usr/local/python3  (此处新建文件夹用mkdir,如果是新建文件则用touch)
  
5、开始编译安装(
笔者安装的是最小centos系统,所以使用编译命令前,必须安装编译套件gcc,读者如果安装的是界面centos系统,或者使用过编译工具则可跳过安装gcc,直接进行下边的编译步骤)
./configure --prefix=/usr/local/python3

make

 
make install
 
 
6、此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字(笔者保留了两个版本的,一个python,一个python3,所以第6步笔者略过,把第7步的链接后名字改为python3,读者可按正常步骤,实现的效果相同)
mv /usr/bin/python /usr/bin/python_old2
  
7、再建立新版本python的链接
ln -s /usr/local/python3/bin/python3  /usr/bin/python
  
8、这个时候输入
python -V
 
10、就会显示出python的新版本信息
[idolaoxu@localhost home]# python -V
Python 3.3.0
 
PS:如果不建立新安装路径python3,而是直接默认安装,则安装后的新python应该会覆盖linux下自带的老版本,也有可能不覆盖,具体看安装过程了,
这个大家可以自己试验下,当然如果还想保留原来的版本,那么这种方法最好不过了。
 
===========================================================================
追加部分:‘

四、解决升级Python后yum,Firewall等不能用的问题

1、 升级Python后运行yum会报错

Paste_Image.png

vi /user/bin/yum 编辑yum的执行文件,更改首行的/usr/bin/python 为上面重命名的名字或/usr/bin/目录下指向Python2.7的名字,之后再运行yum就正常了

Paste_Image.png

Paste_Image.png

2、 运行yum安装其他软件可能出现以下错误,这也是因为Python版本问题,
vi /usr/libexec/urlgrabber-ext-down 修改第一行的Python为重命名的名字(指向python2.7的)

File
    except OSError, e:
                  ^ 

3、防火墙无法启动

Paste_Image.png

出现以上情况根据提示修改/usr/bin/firewall-cmd文件,顺便将同目录下的firewall-offline-cmd文件进行修改,修改后执行启动防火墙命令,会发现依然无法使用

[root@centos ~]# systemctl start firewalld.service
Job for firewalld.service failed because the control process exited with error code. See "systemctl status firewalld.service" and "journalctl -xe" for details.

根据提示执行systemctl status firewalld.service命令查看状态,根据显示中红色部分可以看到,在执行/usr/sbin/firewalld文件时出现问题,因为查看改文件

Paste_Image.png

可以看到这个文件也是用Python编译的,所以也要修改

vi /usr/sbin/firewalld

#!/usr/bin/python -Es
# -*- coding: utf- -*-
#
# Copyright (C) - Red Hat, Inc.
# Authors:
# Thomas Woerner <twoerner@redhat.com>

修改完成后再次执行启动命令就可以正常启动了,神清气爽啊,哈哈哈

[root@centos ~]# systemctl start firewalld.service
[root@centos ~]# systemctl status firewalld.service
â—  firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed -- :: CST; 6s ago
     Docs: )
 Main PID:  (firewalld)
   CGroup: /system.slice/firewalld.service
           └─ /usr/bin/python2. -Es /usr/sbin/firewalld --nofork --nopid

Jun  :: centos systemd[]: Starting firewalld - dynamic firewall daemon...
Jun  :: centos systemd[]: Started firewalld - dynamic firewall daemon.

除此之外还有一些其他文件使用的Python,可以使用grep命令查看哪些文件使用了Python解释器,根据具体情况修改。例如查看/usr/bin目录下的文件

[root@centos ~]# grep -ai /usr/bin/python /usr/bin/*
/usr/bin/easy_install:#!/usr/bin/python
/usr/bin/easy_install-2.7:#!/usr/bin/python
/usr/bin/firewall-cmd:#!/usr/bin/python2.7 -Es
/usr/bin/firewall-offline-cmd:#!/usr/bin/python2.7 -Es
/usr/bin/msghack:#!/usr/bin/python2.7
/usr/bin/pip:#!/usr/bin/python
/usr/bin/pip2:#!/usr/bin/python
/usr/bin/pip2.7:#!/usr/bin/python
/usr/bin/pydoc:#!/usr/bin/python2.7
/usr/bin/systemd-sysv-convert:#!/usr/bin/python2.7
/usr/bin/urlgrabber:#!/usr/bin/python2.7 -t
/usr/bin/wheel:#!/usr/bin/python2.7
/usr/bin/yum:#!/usr/bin/python2

五、make install过程中出现报错解决

出现以下问题:
FAIL: test_with_pip (test.test_venv.EnsurePipTest)
zipimport.ZipImportError: can't decompress data; zlib not available

Paste_Image.png

Paste_Image.png

解决办法:出现这种错误一般因为Python的安装环境没有安装好,安装以下软件
yum install openssl-devel
如果还是有报错则安装Development tools
yum groupinstall Development tools
安装成功后make clean以下,再次重复 上面操作

 

linux centos系统下升级python版本的更多相关文章

  1. Linux系统下升级Python版本步骤(suse系统)

    Linux系统下升级Python版本步骤(suse系统) http://blog.csdn.net/lifengling1234/article/details/53536493

  2. CentOS 7下升级python版本到3.X

    由于python官方已宣布2.x系列即将停止支持,为了向前看,我们升级系统的python版本为3.x系列服务器系统为当前最新的CentOS 7.4 1.安装前查看当前系统下的python版本号 # p ...

  3. CentOS 6下升级Python版本

    CentOS6.8默认的python版本是2.6,而现在好多python组件开始只支持2.7以上的版本,比如说我今天遇到的pip install pysqlite,升级python版本是一个痛苦但又常 ...

  4. CentOS 7下升级Python版本到3.x系列

    由于python官方已宣布2.x系列即将停止支持,为了向前看,我们升级系统的python版本为3.x系列服务器系统为当前最新的CentOS 7.4 1.安装前查看当前系统下的python版本号 # p ...

  5. CentOS6 系统下升级python后yum命令使用时报错

    CentOS6 系统下升级python后yum命令使用时报错,如下: [root@xxxxxxx]#yumFile"/usr/bin/yum",line30exceptKeyboa ...

  6. Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

    原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...

  7. Linux下升级python版本

    转载自:http://lovebeyond.iteye.com/blog/1770476 CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的 ...

  8. CentOS 7.x下升级Python版本到3.x系列(新老版本共存)

    由于python官方已宣布2.x系列即将停止支持,为了向前看,我们升级系统的python版本为3.x系列服务器系统为当前最新的CentOS 7.4 1.安装前查看当前系统下的python版本号 # p ...

  9. CentOs 6.x 升级 Python 版本【转】

    在CentOS 6.X 上面安装 Python 2.7.X CentOS 6.X 自带的python版本是 2.6 , 由于工作需要,很多时候需要2.7版本.所以需要进行版本升级.由于一些系统工具和服 ...

随机推荐

  1. 【BZOJ1004】[HNOI2008]Cards Burnside引理

    [BZOJ1004][HNOI2008]Cards 题意:把$n$张牌染成$a,b,c$,3种颜色.其中颜色为$a,b,c$的牌的数量分别为$sa,sb,sc$.并且给出$m$个置换,保证这$m$个置 ...

  2. Django---路由如何配置

    具体配置在项目配置文件夹下的 urls.py: from index import views urlpatterns = [ path('admin/', admin.site.urls), pat ...

  3. 慕课学习--OSI与TCP/IP网络协议

    **OSI:开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放 ...

  4. 冒泡排序算法的 python 实现与 C 的比较

    昨天用c写了简单的冒泡排序算法之后,正好最近在学 python,也想试试用python实现一下. 总体感觉,对于这种简答的小程序,python 确实充分体现了他简洁,易懂的特点.写起来特别流畅,舒服. ...

  5. 51nod1126 求递推序列的第N项

    求递推序列的第N项 有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A,B和N,求f(n)的 ...

  6. Python:列表生成式

    List Comprehensions #列表生成式:Python内置的非常简单却强大的可以用来创建list的生成式. #生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可 ...

  7. iOS电话等中断事件的开始和结束通知

    #import "ViewController.h" #import <AVFoundation/AVFoundation.h> @interface ViewCont ...

  8. mongo_action

    https://docs.mongodb.com/manual/introduction/ { name: "sue", age: 3, status: "A" ...

  9. git vim 编辑器基本操作

      用 git 命令行提交文件时,默认使用 vim 编辑器,基本操作: 按 a, i 或 o 进入编辑模式 按 ESC 进入操作模式 在操作模式下,:wq 为写入退出,:q! 不保存退出

  10. 【JMeter】1.9上考试jmeter测试调试

    1.打开抓包工具开始抓包,抓取录制脚本的整个过程.以方便后续确认关联参数的左右关联,搜索相关代码. 1.用badboy录制测试脚本并存为jmeter格式. 2.用jmeter打开已经保存的脚本 1.用 ...