事情是这种,在centos6 上本来是python2.6 然后我下载了一个python2.7.5 安装之后,把默认python改动为python2.7.5版本号。
使用pip安装twisted的时候出现
CompressionError: bz2 module is not available 错误的。
sof给出的答案基本都是安装 bzip2, bzip2-devel这样的依赖包。
http://stackoverflow.com/questions/812781/pythons-bz2-module-not-compiled-by-default
ubuntu上:
sudo apt-get install libbz2-dev
redhat/centos 上
yum install bzip2-devel
或者有些建议源代码安装和又一次编译python
我就是照着安装和又一次编译python,然后再装twisted,还是报错。
换个方式:
[root@localhost Python-2.7.5]# python -c "import bz2;print bz2" <module 'bz2' from '/usr/local/lib/python2.7/lib-dynload/bz2.so'> [root@localhost Python-2.7.5]# python27 -c "import bz2" Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named bz2
原因是多个python版本号共存,须要统一python的版本号,还要把shell默认的python版本号缺少的包补全。
能够參考:http://stackoverflow.com/questions/8115280/importerror-no-module-named-bz2-for-python-2-7-2
零碎经验:
- 多个python版本号混乱的时候用whereis 查找一共同拥有哪些python版本号,把最重要用的版本号软连接给 /usr/bin/python /bin/python
- 特别是多人,多种环境python使用的情况下。一定要用virtulenv这种工具。否则python版本号和包版本号非常混乱
- python版本号统一之后,还要统一pip。uwsgi这种命令的版本号,否则还是会有奇异的各种问题
本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/41081171
作者: orangleliu