昨天安装django的时候有些命令用不了,一查应该是python版本过低,目前版本2.6.6,于是编译安装了2.7.2版本,编译完成后做了个软连接加到path路径里面,使python调用的2.7版本。但是问题来了,当使用yum的时候报错使用不了,找不到模块。
[root@cs7 ~]# yum install wget 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.6.9 (unknown, Dec 23 2016, 04:32:34) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] If you cannot solve this problem yourself, please go to the yum faq at: http://yum.baseurl.org/wiki/Faq
本人正在吹着空调,喝着茶水,然后qq头像抖了两下,业务开发同学给我打了个招呼,“忙么?帮个忙可以不?” 这很明显了,要忙了呀!来活了。本着爱岗敬业的精神回复“您说”。 然后很含蓄的告诉我yum不好用了。得嘞,这活可能很简单,就是自己编译了高版本替换了系统python,然后yum使用python,由于版本高,库没有,导致没法使用。 或者特别麻烦,直接把系统的python卸了!!!!!! 这个有可能没救,这要看业务同学是否手下留情了。闲话到此!
由于yum是强依赖于python,一旦pyhon环境改变(即默认的python bin程序路径改变),基本yum是跟着殉情的。
rpm -qa|grep python|xargs rpm -e --allmatches --nodeps whereis python|xargs rm -rf
卸载现有的Python和Yum 1、删除现有Python ##强制删除已安装程序及其关联 rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##删除所有残余文件 ##xargs,允许你对输出执行其他某些命令 whereis python |xargs rm -frv ##验证删除,返回无结果 whereis python 2、删除现有的yum、强制删除已安装程序及其关联 ##强制删除已安装程序及其关联 rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps ##强制删除所有残余文件 whereis yum |xargs rm -frv 下载所需的rpm包 ##查看自己系统版本的命令 cat /etc/redhat-release #CentOS Linux release 7.8.2003 (Core) ##下载相应的包地址: http://mirrors.ustc.edu.cn/centos/7.8.2003(自己系统版本号)/os/x86_64/Packages/ ##所需要的包 ##python python-2.7.5-88.el7.x86_64.rpm python-iniparse-0.4-9.el7.noarch.rpm python-pycurl-7.19.0-19.el7.x86_64.rpm python-devel-2.7.5-88.el7.x86_64.rpm python-libs-2.7.5-88.el7.x86_64.rpm python-urlgrabber-3.10-10.el7.noarch.rpm rpm-python-4.11.3-43.el7.x86_64.rpm ##yum yum-3.4.3-167.el7.centos.noarch.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm yum-plugin-fastestmirror-1.1.31-53.el7.noarch.rpm ##创建目录python和yum用以存放rpm包 mkdir /usr/local/rpm ##使用wget分别下载python以及yum的rpm包(注意:一定要和系统的版本号对应) 地址如下 python wget http://mirrors.ustc.edu.cn/centos/7.8.2003/os/x86_64/Packages/python-2.7.5-88.el7.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/7.8.2003/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/7.8.2003/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/7.8.2003/os/x86_64/Packages/python-devel-2.7.5-88.el7.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/7.8.2003/os/x86_64/Packages/python-libs-2.7.5-88.el7.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/7.8.2003/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/7.8.2003/os/x86_64/Packages/rpm-python-4.11.3-43.el7.x86_64.rpm
事情的起因是我昨天在测试Linux安装Python3的shell脚本时,需要卸载Python3重新安装一遍。但是通过如下命令卸载python3时,少写了个3,不小心将系统自带的python2也给删除了。
1. 下载python2.7.5,保存到 /data/qtongmon/software
(这样做的目的是在系统任意目录下敲入python调用的都是python3.5的命令,而非系统默认的2.6.6。但是这样会导致依赖python2.6的yum不能使用因此还要修改yum配置)
由于服务器需要升级python,参照了一篇坑爹的文章卸载了旧版python # 卸载旧的python sudo rpm -evf --nodeps python 导致yum无法使用
1、当我们输入任何yum命令,都会报错。原因是升级python后,导致yum所需版本不一致导致!
---- 概述 在之前的文章中,我已经介绍了在CentOS6中安装Python2.7.x和Python3.4.x。请参考源码编译安装或者升级Python在CentOS6。由于CentOS7稳定运行,很多基于Python的应用都基于CentOS7发布且大多数的Python版本是基于Python3.4或者3.6。今天博主介绍一下,如何通过CentOS7下源包来安装Python3.6.x.默认情况下,CentOS7采用的是Python2.7进行源包管理,而默认源貌似是Python3.4。Python3.6除了很多
最近在使用Python处理MySQL数据库相关问题时,需要用到Python2.7.5及以上版本,而centos6.5等版本操作系统默认自带的版本为2.6.6,因此需要对python进行升级。
1、新建用户 $ useradd -m WHO #新建用户,并在/home下创建相应目录 $ passwd WHO #设置passwd 分组、权限等可自行查找 2、源文件(更新源,以cenos 7为例) 对于CentOS 7系统更新‘阿里云’源文件 $ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 或者 $ curl -o /etc/yum.repos.d/CentOS-Base
1、删除现有Python [root@test ~]# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制删除已安装程序及其关联 [root@test ~]# whereis python |xargs rm -frv ##删除所有残余文件 ##xargs,允许你对输出执行其他某些命令 [root@test ~]# whereis python ##验证删除,返回无结果
葫芦的运维日志 1.下载安装包,这里是Python-3.7.3版本. wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz ---- 2.系统依赖库安装. yum -y install gcc yum -y install ncurses ncurses-devel yum -y install zlib zlib-devel yum -y install bzip2 bzip2-devel yum -y install ncurse
之前把现有这台阿里CentOS7.2系统的Python2.7.5升级成Python3.6后,yum工具就不能使用了。当时网上查了下原因,都说是Python3导致的,但是试了很多种方法还是没解决,后面也就一直没管了。因为最近要弄一个Nodejs微信小程序,需要用yum安装一些开发工具,就不得不修复这个问题了。
-bash: /usr/bin/yum: /usr/bin/python3.7: bad interpreter: No such file or directory”
一.安装步骤 1.检查系统python CentOS 6.8自带的是Python 2.6.6,yum中最新的也是Python 2.6.6,只能下载Python 2.7.12的源代码自己编译安装。如下图:
在上一篇文章中通过重装yum解决了无法使用Python3解释执行的问题,但是yum -y update后又会使得之前设置的软链接(ln -s /usr/local/bin/python3.6 /usr/bin/python)被替换成python2.7。为了把Python3设置为默认py解释器的同时保证yum能正常使用,还得从yum相关脚本下手。
[root@bjzw-mcu01-x86p-app01 ~]# yum -y update There was a problem importing one of the Python modules required to run yum. The error leading to this problem was:
因为云服务器系统被挖矿程序占领之后,开始想尝试将其删除,但是技术不过关,删除之后又重新运行了,没办法只有把重要的代码和数据备份之后,将服务器重置了系统。然后在重新配置安装nginx的时候,误删除了yum。尝试解决办法的时候,又把python2删除了。T.T。只有重新安装python2和yum。找了一圈安装方法,他们的一些源的位置,都已经移除了。发现一个博主写的,还可以。我在这里在总结一下。博主地址: https://www.cnblogs.com/wangjunjiehome/p/9239005.html
1、在安装Python之前,需要先安装一些后面遇到的依赖问题(如果有依赖问题,按照提示安装):
貌似目前大多数Linux发行版本中自带的Python还都是2.7.x系列,但是越来越多的包包都开始抛弃2.7.x版本了,记录一下在CentOS 7中安装Python 3.6实现与自带2.7两个版本共存并可以自由切换
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到。
Centos自带的python版本太低,所以自己编译安装下python 2.7.10
下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)
yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相 关信息,检查依赖性并自动提示用户解决。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点, 也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。
事情还得从之前我的一次手欠说起,这一次手欠,给我后续带来了不少的麻烦事,昨天我跟腾讯云的客服一起折腾了一天都没解决,但我今天搞了一个Redhat订阅之后很快就找到了解决方法,由于事情较为漫长且命令输出较多,所以可能没多少可以用来说明具体情况的图片
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
小Q:山外青山楼外楼,西湖歌舞几时休;暖风熏得游人醉,只把杭州比汴州。 --林升··题临安邸
CentOS 7默认安装了Python 2.7,系统本身也使用它来启用系统命令例如‘yum’
https://www.python.org/download/releases/2.7.5。
centos6.6 系统默认python版本是python2.6.6.目前这个版本算很低了,主流是使用python2.7或者python3.0了;python2.6.6仅可以支持到Django1.3.7,这个Django版本也太低了,很多特性不可使用,现在就升级到python2.6.6到python2.7.9,然后安装pip,通过pip安装Django的高版本!
②Python3系列和Python2系列版本不向下兼容,所以我就卸载了机器自带的Python2.7,删的干干净净.
用vim修改/usr/bin/yum文件内容: ① 将/usr/bin/yum的顶部的: !/usr/bin/python 改成 !/usr/bin/python2.7 ② 将/usr/libexec/urlgrabber-ext-down的顶部的: /usr/bin/python 改为 /usr/bin/python2.7 ③ 将/usr/bin/yum-config-manager的顶部的 #!/usr/bin/python 改为 #!/usr/bin/python2.7
最小化安装Python8后安装Python3.8.1,网上找了一圈教程,没有一个能完全成功的。或者能安装成功,但pip无法使用。最后根据多个教程整理了一份命令,测试成功,安装使用完全没有问题。
解压后新建文件夹将Python-3.6.5放在/usr/local/python3下
环境cenos7.6 原理:yum命令其实是用python编写,而在https://www.python.org/ftp/python/下载的python编译后是没有yum模块。 解决:要不就指向原有系统默认的python,如果默认的被删除,则需要找到对应系统版本的rpm安装包重新下载。
yum install https://centos6.iuscommunity.org/ius-release.rpm -y wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
一般的Linux上都有默认的Python版本,CentOS6.5默认的Python版本的2.6.6的,因为工作原因,这里需要用到Python3.6.3的版本,在这里,小编将会一步步的教大家进行再Linux下Python3的安装。
通常生产环境由于安全原因都无法访问互联网。此时就需要进行离线安装,主要有两种方式:源码编译、rpm包安装。源码编译耗费时间长且缺乏编译环境,所以一般都选择使用离线 rpm 包安装。
1)编译安装python2.7 [root@mysql-master ~]# python -V Python 2.6.6 查看python的版本信息(之前的yum是通过yum安装的) [root@mysql-master src]# wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz [root@mysql-master src]# file Python-2.7.9.tar.xz Python-2.7.9.tar.xz: x
(下载地址:https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz) Centos6.5系统自带python2.6.6,需要升级到Python2.7 安装库文件:yum install zlib-devel openssl-devel sqlite-devel 下载:wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz 解压:tar zxvf Python-2.7.6.tgz 安装:
# yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel gcc readline-devel sqlite-devel
[root@localhost bin]# yum File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid syntax
为什么举例来说这个安装过程呢, 因为现在开发部署的主流linux就是CentOS,而大部分人目前所使用的版本是CentOS Linux release 7.x 该系统已经自带集成了 Python2.7版本及pip,如果没有也可以通过yum方式安装。而CentOS 6则自带Python2.6.6 且没有pip。而现行大多数的Python开源项目都要求Python在2.7及以上,所以如果你要部署项目的机器是CentOS 6, 则需要升级Python版本并安装pip。看起来就这点东西,但是在执行过程中会遇到许多问题,接下来一步一步给你讲解,让你从根上理解Python多环境安装。
Python-3.7.4.tgz下载地址: 官网境外下载比较慢 可以在这个地址下载:pan.baidu.com/s/15qfRGIyi…
领取专属 10元无门槛券
手把手带您无忧上云