CentOS7 下升级Python版本

来博客园的第一篇博客,以后要坚持养成记录、分享的习惯啊,这样生活才会有痕迹~



服务器版本:CentOS 7.3 64位

旧Python版本:2.7.5

新Python版本:3.8.0

说明:本次配置使用root用户进行操作,故在代码中未使用sudo语句,请使用非root用户留意



1、切换工作目录至/usr/local

在Linux系统下,路径/usr/local相当于C:/Progrem Files/,通常安装软件时便安装到此目录下。

执行命令:

cd /usr/local

2、下载目标python版本压缩包

执行命令:

wget http://npm.taobao.org/mirrors/python/3.8.0/Python-3.8.0.tgz

这里,我使用的是python在国内的镜像,若希望使用官网地址当然也是可以的,不过速度就两说了...

3、解压压缩包

执行命令:

tar -xzf Python-3.8.0.tgz

4、在当前目录下创建文件夹--python3

执行命令:

mkdir python3

5、编译与安装

执行步骤:

a.进入解压文件路径

cd Python-3.8.0

b.生成makefile文件

./configure --prefix=/usr/local/python3

c. 对makefile文件进行操作

make

d.安装

make install

命令解释:

  • 在Linux中通过源码安装程序时,对于解压文件,先执行./configure,后执行make,最后执行make install

    make 命令 是对makefile文件操作,make install 是安装命令,那么 ./configure 是干什么呢?./configure 其实就是生成 makefile 文件

——参考“朝闻道

  • --prefix作用:编译的时候用来指定程序存放路径。

    不指定prefix,可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share

    指定prefix,直接删掉一个文件夹就够了

——参考“百度知道

问题:

在这个过程中,出现了安装失败的问题:

zipimport.ZipImportError: can‘t decompress data; zlib not available

这是由于缺少依赖造成的,可执行以下代码:

yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel

——参考“寒爵

6、两种版本配置方法

关于配置python版本的方法大致分为两种

  1. 直接创建python3软链,利用命令 python3 调用新版本python,与自带python不冲突
  2. 覆盖现有python,使其指向新安装的python,利用命令 python 便可调用新版本python

所涉及命令解释

  • ln命令用来为文件创建链接,链接类型分为硬链接和符号(软)链接两种,默认的连接类型是硬连接。如果要创建符号链接必须使用"-s"选项,符号链接相当于Windows下的快捷方式,即可以实现启动python时指向python3.8
ln -s a b # 建立软连接,b指向a

——参考“颜子

下面分别对两种方法进行介绍。

6.1直接创建python3软链

在/usr/bin路径下创建python3软链,指向已安装的python3

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

在/usr/bin路径下创建pip3软链,指向已安装的pip3

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

此时系统中存在两个python版本:

命令 python 对应的仍是默认2.7版本

命令 python3 则对应新安装的3.8版本,

此本方法到此便结束了,可以快乐地打出 python3 -V, pip3 -V查看对应版本了

6.2  覆盖现有python,启动python时指向python3.8

备份旧python与pip

 mv /usr/bin/python /usr/bin/python2_old
 mv /usr/bin/pip /usr/bin/pip2_old  #第三部分的文件名可根据本机版本修改

修改软链接

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

此方法到这里已经完成一半啦,可以使用命令 python -V, pip -V查看版本

根据“撑起风帆”的经验,还应该对easy_install的指向进行修改,使用python3时可能会用到(未验证),用到时可根据上述“修改软链接”的方法进行修改

6.2.1 收尾工作

由于修改了python的版本,会导致一些依赖于旧版本的程序出现错误,如yum,可进行如下配置:

打开yum文件

vim /usr/bin/yum

文件第一行如下图:

将python修改为旧的版本号,此处添加2.7:

不过在安装软件时仍会报错:

SyntaxError: invalid syntax
  File "/usr/libexec/urlgrabber-ext-down", line 28  except OSError, e:

还是因为python更换的原因, 依照上述操作修改文件即可:打开/usr/libexec/urlgrabber-ext-down 文件,将 #!/usr/bin/python   修改为 #!/usr/bin/python2.7   

其他工具或库如果在安装过程中也报类似错误,同法处理。

此时系统仍存在两个python版本,但命令 python 对应的是新安装的3.8版本,命令 python2 才对应之前的默认2.7版本
此方法到这里就结束啦!



除文中所列参考文章外,主要参考文章还有:

https://blog.csdn.net/bawenmao/article/details/80216516

https://blog.csdn.net/u011798443/article/details/80825817

谢谢以上各位!

原文地址:https://www.cnblogs.com/ech2o/p/11748464.html

时间: 2024-10-12 03:50:03

CentOS7 下升级Python版本的相关文章

Linux下升级python版本

转载自:http://lovebeyond.iteye.com/blog/1770476 CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的python版本是V2.4.3,但运行node.js需要的版本是2.5以上. 1.下载python3.3安装包:wget http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz 2.解压安装包:tar -zxvf Python-3.3.0.tg

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

由于python官方已宣布2.x系列即将停止支持,为了向前看,我们升级系统的python版本为3.x系列服务器系统为当前最新的CentOS 7.4 1.安装前查看当前系统下的python版本号 # python -V 2.获取python3.x的官方软件包 # wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz 3.解压缩该软件包 # tar -zxvf Python-3.6.5.tgz 4.在解压目录下安装配置 # cd

centos6.5下升级python版本为python2.7

新项目上线,python的版本问题折腾了一些时间,记录下来,留点痕迹. CentOS 6.6自带的是Python 2.6.6,而项目中使用的语言检测需要python2.7环境的支持. yum中最新的也是Python 2.6.6,只能下载Python 2.7.8的源代码自己编译安装. 操作步骤如下: 1)安装devtoolset yum groupinstall "Development tools" 2)安装编译Python需要的包包 yum install zlib-devel yu

centOS下升级python版本,详细步骤

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

修复升级python版本之后ibus输入法不显示控制面板和候选框的问题

因为python版本需求,通过下载python2.7.6源码包,编译安装了python2.7版本.安装完该版本后,发现ibus输入法虽然可以激活使用,但是不显示控制面板,无法更改设置,连候选词条框都没有,使用几乎瘫痪.由于ibus依赖了一些python模块,所以推测是python版本的问题. 1. 尝试打开输入法设置 #ibus-setup Traceback (most recent call last): File "/usr/share/ibus/setup/main.py",

(转)LINUX CENTOS7下安装PYTHON

LINUX CENTOS7下安装PYTHON 原文:http://www.cnblogs.com/lclq/p/5620196.html Posted on 2016-06-27 14:58 南宫羽香 阅读(8506) 评论(5) 编辑 收藏 1.查看是否已经安装Python Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用python -V命令查看一下是否安装Python: 然后查看一下Python可执行文件的位置: 进入到

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

在CentOS 6.X 上面安装 Python 2.7.X CentOS 6.X 自带的python版本是 2.6 , 由于工作需要,很多时候需要2.7版本.所以需要进行版本升级.由于一些系统工具和服务是对 Python 有依赖的,所以升级 Python 版本需要注意. 升级步骤 如何欢乐的,没有痛苦的升级python版本 ,往下看 … 更新系统和开发工具集 更新指令 yum -y update yum groupinstall -y 'development tools' 另外还需要安装 py

Centos下升级Python

Centos下升级Python 一.查看本机Pyhton版本 本机Centos6.5 预带Pyhton版本为2.6.6 # python --version >>Python 2.6.6 二.下载欲升级最新Python安装包 可以去官网找最新安装包 https://www.python.org/downloads/ 三.编译安装Python wget   tar -zxvf  Python-2.7.10.tgz cd Python-2.7.10 ./configure make &&a

CentOS 5升级Python版本(2.4>2.7)

安装SALT时,需要这样作,公司有一批REDHAT5的,弄起来... 然后却是: Missing Dependency: python(abi) = 2.6 is needed by package rpm -q --provides python | grep abi python(abi) = 2.4 过程很顺利,参考URL: http://www.linuxidc.com/Linux/2012-02/55194.htm 日前在CentOS上搭建测试环境时候,遇到需要升级python版本的情