最近需要在linux下使用python,故需要升级一下python版本,上网查询了一下相关资料,更新了一下linux下面的python环境,记录如下:

linux下面升级 Python版本并修改yum属性信息

首先linux下查询python版本

[root@test30 chengshaoling]# python -V

Python 2.7.5

1.最新版本python下载安装

下载新版本的python

python主站相关地址:

https://www.python.org/downloads/source/

https://www.python.org/downloads/release/python-2712/

https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz

[root@test30 makePython]# wget   https://www.python.org/downloads/release/python-373/Python-3.7.3.tgz   #下载的不完整,又手动网页下载,上传到Linux系统的

解压缩 以及编译

[root@test30 makePython]# tar -xvf Python-2.7.12.tgz

[root@test30 makePython]# cd Python-2.7.12

[root@test30 Python-2.7.12]# ./configure --prefix=/usr/local/python27    #我运行了   ./configure  后又运行了./configure --prefix=/usr/local/python37

[root@test30 Python-2.7.12]# make

[root@test30 Python-2.7.12]# make install

再次查看python版本,系统展现版本未更新

[root@test30 Python-2.7.12]# python -V

Python 2.7.5

2. python多版本共存解决

下面来解决这个问题

把原来的python重命名成python_old,注意不要删除

[root@test30 Python-2.7.12]# mv /usr/bin/python /usr/bin/python_old

[root@test30 Python-2.7.12]# ln -s /usr/local/python37/bin/python3 /usr/bin/python

再查看一下版本

[root@test30 Python-2.7.12]#python -V

Python 3.7.3

成功更新python版本

3.解决yum的python版本问题

还有最后一个问题要解决,因为yum是使用的python2.7.5的版本,所以 还需要修改一下yum的python版本(利用前面重命名的python_old文件夹的内容)

[root@test30 Python-2.7.12]# yum

There was a problem importing one of the Python modules

required to run yum. The error leading to this problem was:

No module named yum

Please install a package which provides this module, or

verify that the module is installed correctly.

It's possible that the above module doesn't match the

current version of Python, which is:

2.7.12 (default, Nov 29 2016, 11:07:49)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)]

If you cannot solve this problem yourself, please go to

the yum faq at:

http://yum.baseurl.org/wiki/Faq

修改yum文件中配置的python程序位置:

[root@test30 Python-2.7.12]# cd /usr/bin/

[root@test30 bin]# vi yum

#!/usr/bin/python_old    #修改此处为原始python程序的位置  #后边不能写注释,会出问题  不知道为啥

import sys

try:

import yum

except ImportError:

print >> sys.stderr, """\

There was a problem importing one of the Python modules

required to run yum. The error leading to this problem was:

%s

Please install a package which provides this module, or

verify that the module is installed correctly.

It's possible that the above module doesn't match the

current version of Python, which is:

%s

If you cannot solve this problem yourself, please go to

the yum faq at:

http://yum.baseurl.org/wiki/Faq

""" % (sys.exc_value, sys.version)

sys.exit(1)

sys.path.insert(0, '/usr/share/yum-cli')

try:

import yummain

yummain.user_main(sys.argv[1:], exit_code=True)

except KeyboardInterrupt, e:

print >> sys.stderr, "\n\nExiting on user cancel."

sys.exit(1)

~

~

~

~

~

~

~

~

~

~

~

"yum" 32L, 805C

验证 yum 是否重新可以使用

[root@test30 bin]# yum

已加载插件:fastestmirror

你需要给出命令

Usage: yum [options] COMMAND

List of Commands:

check          Check for problems in the rpmdb

check-update   检查是否有软件包更新

clean          删除缓存的数据

deplist        列出软件包的依赖关系

distribution-synchronization Synchronize installed packages to the latest available versions

downgrade      downgrade a package

erase          从系统中移除一个或多个软件包

groupinfo      显示组的详细信息

groupinstall   向系统中安装一组软件包

grouplist      列出可安装的组

groupremove    从系统中移除一组软件包

help           显示用法信息

history        Display, or use, the transaction history

info           显示关于软件包或组的详细信息

install        向系统中安装一个或多个软件包

list           列出一个或一组软件包

load-transaction load a saved transaction from filename

makecache      创建元数据缓存

provides       查找提供指定内容的软件包

reinstall      覆盖安装一个包

repolist       显示已配置的仓库

resolvedep     判断哪个包提供了指定的依赖

search         在软件包详细信息中搜索指定字符串

shell          运行交互式的 yum 外壳

update         更新系统中的一个或多个软件包

upgrade        更新软件包同时考虑软件包取代关系

version        Display a version for the machine and/or available repos.

Options:

-h, --help            show this help message and exit

-t, --tolerant        容忍错误

-C, --cacheonly       run entirely from system cache, don't update cache

-c [config file], --config=[config file]

配置文件路径

-R [minutes], --randomwait=[minutes]

命令最长等待时间

-d [debug level], --debuglevel=[debug level]

调试输出级别

--showduplicates      在 list/search 命令下,显示仓库里重复的条目。

-e [error level], --errorlevel=[error level]

错误输出级别

--rpmverbosity=[debug level name]

debugging output level for rpm

-q, --quiet           安静的操作

-v, --verbose         verbose operation

-y, --assumeyes       回答所有的问题为是

--assumeno            answer no for all questions

--version             显示 Yum 版本信息并退出

--installroot=[path]  设置目标根目录

--enablerepo=[repo]   启用一个或多个仓库(支持通配符)

--disablerepo=[repo]  禁用一个或多个仓库(支持通配符)

-x [package], --exclude=[package]

用全名或通配符排除软件包

--disableexcludes=[repo]

禁止从主配置,从仓库或者从任何位置排除

--obsoletes           升级时考虑软件包取代关系

--noplugins           禁用 Yum 插件

--nogpgcheck          禁用 gpg 签名检测

--disableplugin=[plugin]

禁用指定名称的插件

--enableplugin=[plugin]

enable plugins by name

--skip-broken         跳过有依赖问题的软件包

--color=COLOR         配置是否使用颜色

--releasever=RELEASEVER

set value of $releasever in yum config and repo files

--downloadonly        don't update, just download

--downloaddir=DLDIR   specifies an alternate directory to store packages

--setopt=SETOPTS      set arbitrary config and repo options

插件选项:

至此,python升级完成

参考:http://blog.sina.com.cn/s/blog_53f023270102vdvo.html

参考:https://blog.csdn.net/jiangshan35/article/details/69568271

参考:https://www.cnblogs.com/eleganthua/p/9406968.html

总结:python 升级;默认调用改为升级后的Python;但是,yum不能配套使用升级后的Python,yum 改为默认路径为老的Python包路径;

linux下面升级 Python版本并修改yum属性信息的更多相关文章

  1. linux服务器升级python版本(python2与python3共存)

    linux服务器升级python版本 ######################################## 第一步先安装sqlite-devel,因为python2也有这个,python3 ...

  2. Linux下升级python版本

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

  3. centos7升级Python版本后,yum不能正常使用

    python升级方法,使用源码编译安装即可,prefix=/usr/local/bin/python3 执行yum list,提示/usr/bin/yum 报错 我是直接在Python2.7的基础上又 ...

  4. Ubutnu linux 下升级python版本,以2.x升级到3.x为例

    Linux操作系统一般 都会自带python,但是python版本会比主流低,故升级python, 主要思路:自带的python的链接link文件是在/usr/bin 下,采用sudo apt-get ...

  5. linux多个python版本下导致yum报错

    问题: $ yum File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid ...

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

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

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

    安装SALT时,需要这样作,公司有一批REDHAT5的,弄起来... 然后却是: Missing Dependency: python(abi) = 2.6 is needed by package ...

  8. CentOS 6下升级Python版本

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

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

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

随机推荐

  1. [no code][scrum meeting] Beta 11

    $( "#cnblogs_post_body" ).catalog() 例会时间:5月26日11:30,主持者:肖思炀 下次例会时间:5月27日11:30,主持者:乔玺华 一.工作 ...

  2. HZOI帝国2019欢乐时刻

    前言: update 只是恢复一下原来手残删掉的博客,不是在水,嘤嘤嘤 update 以后改成Stack,但是之前的就懒得改了... by 10.31 为了窝的访问量大家的好心情,模仿学长搞了一个这个 ...

  3. Spring:所有依赖项注入的类型

    一.前言 Spring文档严格只定义了两种类型的注入:构造函数注入和setter注入.但是,还有更多的方式来注入依赖项,例如字段注入,查找方法注入.下面主要是讲使用Spring框架时可能发生的类型. ...

  4. 6.深入TiDB:乐观事务

    本文基于 TiDB release-5.1进行分析,需要用到 Go 1.16以后的版本 我的博客地址:: https://www.luozhiyun.com/archives/620 事务模型概述 由 ...

  5. 【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)

    写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...

  6. CentOS7 导入oracle数据

    1.切换到 oracle用户 #su - oracle 2.导入(一般的不会导入到sys账号下) #imp sys/密码@orcl file=/home/oracle/20200428.dmp fro ...

  7. IDM使用教程:利用IDM下载百度网盘文件

    IDM是什么 其实我使用IDM下载器只是为了方便网页版百度网盘直接下载大于40M文件而已,大家知道文件过大必须打开客户端才能下载,这点对于我的破电脑感觉很烦躁,每次要等待它慢悠悠打开,然后动用我的超级 ...

  8. IP数据报中如果不分片,分片标志值是什么?

    过了好久才解决这个简单的问题,罪过罪过- 答案:如果IP数据报不分片,分片标志DF(Don't Fragment)会被设置为1.分片标志MF(More Fragment)设置为0. 下面是详细解释: ...

  9. 力扣 - 剑指 Offer 59 - I. 滑动窗口的最大值

    题目 剑指 Offer 59 - I. 滑动窗口的最大值 思路1(单调队列) 使用单调(递减)队列,保持队列中的元素是递减顺序,队列头保存的是当前窗口中最大的元素 首先先模拟建立第一个窗口,同时获取第 ...

  10. 使用grep命令,玩转代码审计寻找Sink

    好久没分享东西了,今天分享个实用代码审计技巧 使用grep,玩转代码审计,适用于linux/mac,windows需要另行安装grep: 使用场景如下:快速寻找项目中所有的Sink,快速寻找符合适配条 ...