问题来源

问题往往都是这样来的突然,让我措手不及。

小孩没娘说来话长啊,操作系统是centos6.5因此默认自带的python是2.6.6的,突然有一天我要写一个关于kafka topic消费情况的监控,因此我需要安装一个包,很不巧这个包要求很特殊需要python2.7,没招只能升级了,升级比较简单网上搜索一大堆,升级完成监控也顺利开发完成了,一切就这样相安无事过去了很久。突然今天同事来找我说他之前给hive写的一个udf函数不能用了,说缺少这个包:pyhs2,还说之前装过这个包,为啥不能用了,我说应该是我升级了python到2.7导致的吧,我说我给你装一个吧,直接pip简单的很啊,同事说你搞吧我回家了,结果我的悲剧就开始了。

问题1:pip安装

升级完成后,我没有安装pip,直接下个包安装一个吧,开始报错了。

1.ImportError: No module named setuptools 解决方案

下载 setuptools-0.6c11

2.安装setuptools报错RuntimeError: Compression requires the (missing) zlib module

根据提示需要安装zlib和zlib-devel 直接yum 安装一下,但是需要重修编译和安装2.7的python

方法:进入到python2.7的安装包中 先make 之后make install,之前你做的那些修改的ln-s 不需要改动,任然可以使用。

3.setuptools顺利安装完成了,在安装pip 顺利安装完成。

问题2:pip指向的是2.6版本的问题

1.因为之前在python2.6的时候用pip安装过pyhs2 因此在安装包的时候报包已将安装了,但是你去python2.7的环境下import 还是会报找不到包的问题。

原因:通过执行pip -V命令发现pip的链接还是python2.6的,因此你之前安装的包在这就提示你已经安装过了。

问题:ImportError: No module named pkg_resources

解决方法:1.卸载当前的pip从新安装 参考文章http://linuxsogood.org/816.html。这两个问题都可以这么解决。

解决方法:2.保留之前的pip,因为另一个用户任然需要2.6.6的环境,找到python2.7中自带的pip包,再次安装包

执行:whereis pip,找到现在的pip路径

执行:/usr/local/bin/pip2.7 install pyhs2。

问题3:安装pyhs2的时候报错

报错问题:ImportError: cannot import name HTTPSHandle

解决方法:缺少openssl和openssl-devel导致的问题。直接yum 安装一下,但是需要重修编译和安装2.7的python

yum install openssl openssl-devel

方法:进入到python2.7的安装包中 先make 之后make install,之前你做的那些修改的ln-s 不需要改动,任然可以使用。

之后再次安装pyhs2即可。

python升级导致的坑的更多相关文章

  1. python升级导致yum命令无法使用的解决办法?

    yum是依赖特定的python版本的,不同的linux系统需要的python版本不同. 查看yum的启动脚本:which is yum 头一行指定使用的python版本,这个必须是系统需要的,而不要使 ...

  2. CentOS解决因python升级导致的中文输入法无法正常使用的问题

    /usr/libexec/ibus-ui-gtk /usr/ bin/ibus-setup /usr/libexec/ibus-engine-table 将以上三个文件中的 “exec python” ...

  3. python升级导致yum命令无法使用的解决

    1.报错信息如下: [root@develop bin]# yum [root@develop local]# yum -y install prce There was a problem impo ...

  4. CENTOS下Python 升级后YUM无法使用的解决办法

    Python有很多实用的工具,安装依赖python版本较高,升级Python后导致yum无法使用. 原因: 系统自带的yum依赖Python老版本,升级后不兼容 解决办法: 1. 列出所有版本,确定老 ...

  5. python中的这些坑,早看早避免。

    python中的这些坑,早看早避免. 说一说python中遇到的坑,躲坑看这一篇就够了 传递参数时候不要使用列表 def foo(num,age=[]): age.append(num) print( ...

  6. 学Python要避免哪些坑,如何巩固好基础

    学Python要避免哪些坑?零基础怎么入门Python?Python入门简单.语法简洁.功能强大,非常适合零基础入门IT行业的人学习.随着人工智能时代的来临,企业纷纷选择使用Python进行开发,Py ...

  7. 将linux默认python升级到2.7.4版本

    第一步:下载python2.7.4版本源码: wget http://python.org/ftp/python/2.7.4/Python-2.7.4.tgz 解压文件 [aa@localhost ~ ...

  8. ubuntu16.04下python2、python3环境选择与python升级(pip版本切换)

    参考链接:https://www.jianshu.com/p/63c1f22e1fed Ubuntu中python版本问题: 添加PPA: sudo add-apt-repository ppa:jo ...

  9. python升级 (2.6升级到3.5)

    在引用模块pandas时竟然提示不支持2.6, 果断升级,在网上找了很多博客,觉得这个比较清楚(https://blog.csdn.net/my_bai/article/details/7289602 ...

随机推荐

  1. Linux回归篇-基础恶补

    前言:  LINUX在之前仅仅了解一些皮毛知识,最近计划深入研究大数据,LINUX当然少不了,所以借此良机将LINUX也顺带添加进入学习的目录之中.为了知识的全面性,本文先恶补一下LINUX的基础,作 ...

  2. SAR数据下载网站

    1] http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.144.2153&rep=rep1&type=pdf[2] ht ...

  3. CC++初学者编程教程(15) 基于cocos2dx的安卓打包环境

    1首先安装python 2 单击next 3 选择默认路径,单击next 4选择完全安装,单击next 5单击next开始安装 6 安装完成 7 设置环境变量 8 添加python的路径到path 9 ...

  4. virtualbox 复制多个虚拟机 (宿主机redhat)

    我用VirtualBox做了一个winxp虚拟镜像. 想实现不重新安装而直接复制几个,也就是同时装载几个虚拟机. 但是直接复制已安装好机子的vdi文件,系统会报uuid已存在的错误. 所以,就需要修改 ...

  5. Hadoop源码解析之: HBase Security

    文不打算对这部分代码进行全面的解读,而是先对几个主要类的职能进行概述,然后再罗列一些有价值的重要细节. 第一部分:HBase Security 概述 HBase Security主要是基于User和U ...

  6. PHP的优点

    1.语法简单 2.学习成本低 3.开发效率高 4.跨平台 5.开发部署方便 6.开源框架非常丰富(如:ThinkPHP) 7.开源CMS系统非常丰富(如:Joomla,Wordpress) 8.开源网 ...

  7. Android九宫格图片(9.png)的讲解与制作

    刚开始学习Android的时候,会见到res/drawable的几个文件里面有*.9.png格式命名的图片文件.起初以为这只是Android素材的一些特殊命名,其实不是.它是能实现图片素材拉伸.收缩不 ...

  8. C#中关键字ref与out的区别【转】

    在C#中,ref与out是很特殊的两个关键字.使用它们,可以使参数按照引用来传递.总的来说,通常我们向方法中传递的是值.方法获得的是这些值的一个拷贝,然后使用这些拷贝,当方法运行完毕后,这些拷贝将被丢 ...

  9. zoj 3229 有源汇有上下界的最大流模板题

    /*坑啊,pe的程序在zoj上原来是wa. 题目大意:一个屌丝给m个女神拍照.计划拍照n天,每一天屌丝最多个C个女神拍照,每天拍照数不能超过D张,并且给每一个女神i拍照有数量限制[Li,Ri], 对于 ...

  10. LSH算法原理

    原始链接--http://www.jiahenglu.net/NSFC/LSH.html LSH(Location Sensitive Hash),即位置敏感哈希函数.与一般哈希函数不同的是位置敏感性 ...