python升级导致的坑
问题来源
问题往往都是这样来的突然,让我措手不及。
小孩没娘说来话长啊,操作系统是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升级导致的坑的更多相关文章
- python升级导致yum命令无法使用的解决办法?
yum是依赖特定的python版本的,不同的linux系统需要的python版本不同. 查看yum的启动脚本:which is yum 头一行指定使用的python版本,这个必须是系统需要的,而不要使 ...
- CentOS解决因python升级导致的中文输入法无法正常使用的问题
/usr/libexec/ibus-ui-gtk /usr/ bin/ibus-setup /usr/libexec/ibus-engine-table 将以上三个文件中的 “exec python” ...
- python升级导致yum命令无法使用的解决
1.报错信息如下: [root@develop bin]# yum [root@develop local]# yum -y install prce There was a problem impo ...
- CENTOS下Python 升级后YUM无法使用的解决办法
Python有很多实用的工具,安装依赖python版本较高,升级Python后导致yum无法使用. 原因: 系统自带的yum依赖Python老版本,升级后不兼容 解决办法: 1. 列出所有版本,确定老 ...
- python中的这些坑,早看早避免。
python中的这些坑,早看早避免. 说一说python中遇到的坑,躲坑看这一篇就够了 传递参数时候不要使用列表 def foo(num,age=[]): age.append(num) print( ...
- 学Python要避免哪些坑,如何巩固好基础
学Python要避免哪些坑?零基础怎么入门Python?Python入门简单.语法简洁.功能强大,非常适合零基础入门IT行业的人学习.随着人工智能时代的来临,企业纷纷选择使用Python进行开发,Py ...
- 将linux默认python升级到2.7.4版本
第一步:下载python2.7.4版本源码: wget http://python.org/ftp/python/2.7.4/Python-2.7.4.tgz 解压文件 [aa@localhost ~ ...
- ubuntu16.04下python2、python3环境选择与python升级(pip版本切换)
参考链接:https://www.jianshu.com/p/63c1f22e1fed Ubuntu中python版本问题: 添加PPA: sudo add-apt-repository ppa:jo ...
- python升级 (2.6升级到3.5)
在引用模块pandas时竟然提示不支持2.6, 果断升级,在网上找了很多博客,觉得这个比较清楚(https://blog.csdn.net/my_bai/article/details/7289602 ...
随机推荐
- 让Cocos2D-X的示例程序运行起来
没有整理好,现在先标记下 安装好环境后可能遇到的问题: 1.cocos2d-X 2.0版本后创建的Android项目提示org.cocos2dx.lib.Cocos2dxActivity找不到问题 解 ...
- IDEA12 KeyGen Download List
When you use IDEA to develop Java, you can use the following file to generate lincese. Because CNBlo ...
- Android下EditText中的字体不统一问题
Android下EditText中的字体不统一问题 好久没写,今天心情好略记下解决的某bug 在一个登录界面有帐号和密码两个EditText,但是却发现两个EditText的hint的英文字体不同,看 ...
- ViewPager+Fragment取消预加载(延迟加载)
在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragment有个不好或者太好的地方.例如你在ViewPager中添加了三个Fragment,当加载V ...
- Qt5 基于TCP传输的发送/接收文件服务器(支持多客户端)
一.实现功能 1.服务器端选择待发送的文件,可以是多个 2.开启服务器,支持多客户端接入,能够实时显示每个客户端接入状态 3.等待所有客户端都处于已连接状态时,依次发送文件集给每个客户端,显示每个客户 ...
- linux下so动态库一些不为人知的秘密(中二)
继续上一篇< linux下so动态库一些不为人知的秘密(中) >介绍so搜索路径,还有一个类似于-path,叫LD_RUN_PATH环境变量, 它也是把路径编译进可执行文件内,不同的是它只 ...
- linux动态库加载时搜索路径
摘自http://gotowqj.iteye.com/blog/1926613 对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似“error while loading shared librar ...
- Spring Http Invoker
配置例如以下: ①web.xml配置 <servlet> <servlet-name>remote</servlet-name> <servlet-class ...
- poj 2186 (强连通缩点)
题意:有N只奶牛,奶牛有自己认为最受欢迎的奶牛.奶牛们的这种“认为”是单向可传递的,当A认为B最受欢迎(B不一定认为A最受欢迎),且B认为C最受欢迎时,A一定也认为C最受欢迎.现在给出M对这样的“认为 ...
- C#中byte[] 与指针
本文假定读者熟悉byte[].指针. C#是类型安全的,默认是不允许使用指针,但是针对C\C++或者其他语言的程序员(delphi)转为使用C#的的工作人员,不适用指针觉得很别扭.下面介绍一下基础的指 ...