问题来源

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

小孩没娘说来话长啊,操作系统是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. zookeeper 各节点数据保证是弱一致性

    一致性保证: ZooKeeeper 是一个高性能的,可扩展的服务.不管是读和写操作是被设计成快速,虽然读比写快. 这样做的原因是在读的情况下,Zookeeper 可以提供旧的数据, 反过来又是由于Zo ...

  2. VC实现图片拖拽及动画

    基础知识 1.PictureBox控件的使用 2.加载位图文件 1.通过文件路径获得位图句柄 //获得位图句柄  void CMovePictureDlg::GetHandleFromPath(CSt ...

  3. hdu 1078 FatMouse and Cheese_记忆搜索

    做这类型的搜索比较少,看懂题意花了半天 题意:给你个n*n的图,老鼠一次最远走k步,老鼠起初在(0,0),每次偷吃的东西必须比之前偷吃的要大. #include<iostream> #in ...

  4. linux下自动同步internet时间

    linux下很简单直接一句即可: ntpdate time.nist.gov ntp后面参数为internet时间服务器url或ip即可. 但是ntpdate命令需要root特权,如果做成自动运行每次 ...

  5. STL入门

    STL入门 STL的组成 六大组件 容器container 算法algorithm 迭代器iterator 仿函数function object 适配器adaptors 空间配制器allocator ...

  6. Unity 之 Redux 模式(第二篇)—— Rigidbody 改造,摄像机控制

    作者:软件猫 日期:2016年12月8日 转载请注明出处:http://www.cnblogs.com/softcat/p/6144041.html 上一篇文章中存在一个很严重的问题,首先我们先让 M ...

  7. ASP.NET 4.0升级至ASP.NET 4.5需要注意的地方 【转】

    原以为只要在Visual Studio 2012中将每个项目的Target framework设置为.NET Framewor 4.5进行编译,然后在web.config中设置compilation的 ...

  8. spring-android的使用【转】

    android + Spring RESTful 简单登录 (spring3实现服务端 rest api)  https://github.com/spring-projects/spring-and ...

  9. Emmet 插件使用教程

    1)使用 Emmet 生成 HTML 的语法详解生成 HTML 文档初始结构 HTML 文档的初始结构,就是包括 doctype.html.head.body 以及 meta 等内容.你只需要输入一个 ...

  10. Ext.grid.GridPanel的属性

    1.Ext.grid.GridPanel     主要配置项:          store:表格的数据集          columns:表格列模式的配置数组,可自动创建ColumnModel列模 ...