文档章节

esrally启动报错:ImportError: No module named bz2错误解决方法

仰望星空的伤心胖熊
 仰望星空的伤心胖熊
发布于 2017/02/15 15:06
字数 618
阅读 917
收藏 0

一开始是在跑esrally的时候,遇到的。

[root@soc bin]# ./esrally
Traceback (most recent call last):
  File "./esrally", line 7, in <module>
    from esrally.rally import main
  File "/usr/local/python/lib/python3.4/site-packages/esrally/rally.py", line 11, in <module>
    from esrally import config, paths, racecontrol, reporter, metrics, track, exceptions, PROGRAM_NAME, DOC_LINK
  File "/usr/local/python/lib/python3.4/site-packages/esrally/config.py", line 10, in <module>
    from esrally.utils import io, git, console, convert
  File "/usr/local/python/lib/python3.4/site-packages/esrally/utils/io.py", line 5, in <module>
    import bz2
  File "/usr/local/python/lib/python3.4/bz2.py", line 21, in <module>
    from _bz2 import BZ2Compressor, BZ2Decompressor
ImportError: No module named '_bz2'

最后一句:

ImportError: No module named '_bz2'

实际说明python运行的时候少了一个bz2的包。

先后尝试了pip3安装,都失败了:

pip3 install _bz2

pip3 install bz2

但实际系统当中是有这个包的:

[root@CentOS-7 bzip2-1.0.6]# yum install bzip2
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
软件包 bzip2-1.0.6-13.el7.x86_64 已安装并且是最新版本
无须任何处理

之后参考一些文章了解到,原来bz2本身编译的过程如果不完善会导致python安装的时候,无法正确安装bz2模块。看来只能重装了。

1、重装bzip2

wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
tar -zxf  bzip2-1.0.6.tar.gz 

cd bzip2-1.0.6  

make -f  Makefile-libbz2_so 

make && make install

注:make-f   //-f 标志是使bzip2 根据另一个Makefile来编译,就是Makefile-libbz2_so文件,创建一个动态的libbz.so库文件,然后把bzip2工具连接到这个库上

装python的时候如果没有这一步,python安装不上bz2模块

2、重新编译python

具体步骤和安装Python的步骤其实一样,最主要就是从./configure --prefix=/usr/local/python开始向下重新做一遍就是了。

3、验证bz2包是否正确安装。

Python安装完成后,进入测试一下:

[root@CentOS-7 bin]# python
Python 3.4.6 (default, Feb 15 2017, 17:57:43) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import bz2
>>> 

否则bz2会提示如下错误:

>>> import bz2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/python/Python-3.4.6/Lib/bz2.py", line 21, in <module>
    from _bz2 import BZ2Compressor, BZ2Decompressor
ImportError: No module named '_bz2'
>>> 

至此,OK完整解决。运行esrally也出效果了。

[root@CentOS-7 bin]# ./esrally 

    ____        ____
   / __ \____ _/ / /_  __
  / /_/ / __ `/ / / / / /
 / _, _/ /_/ / / / /_/ /
/_/ |_|\__,_/_/_/\__, /
                /____/

Running simple configuration. Run the advanced configuration with:

  esrally configure --advanced-config

INFO:rally.config:Running simple configuration routine.
[✓] Autodetecting available third-party software
which: no gradle in (/usr/local/java/jdk1.8.0_121/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

 

 

© 著作权归作者所有

共有 人打赏支持
仰望星空的伤心胖熊
粉丝 0
博文 16
码字总数 9715
作品 0
南京
产品经理
加载中

评论(1)

洛子墟
洛子墟
很有帮助
debian5 安装node.js

node.js安装环境需要python的版本是2.6或者2.7以后的,而在debian5上默认的python版本是2.5的,所以第一步得先升级python版本,然后才能安装node.js。 1 安装编译环境 apt-get install buil...

China_OS
2013/10/14
0
0
ubuntu切换python默认版本从2.7到3.5后 报错 ImportError: No module named 'pip'

使用pip遇到错误ImportError: No module named packaging.version的解决方法 2017年03月22日 16:08:33 阅读数:3148 由于需要用到pip,所以在Ubuntu上安装了一个,由于Python是2.7版本的,所...

Jake_xun
05/16
0
0
使用pip遇到错误ImportError: No module named packaging.ve

由于需要用到pip,所以在Ubuntu上安装了一个,由于Python是2.7版本的,所以装的并不是pip3。 附pip安装命令: sudo apt-get install python-pip 本来用得好好的,在执行一次之后突然报错:I...

ljianbing
07/11
0
0
saltstack试用篇:一、源码安装与简单配置

本系列文章由初学者写,高手就不要浪费时间了 环境:centos6.2 minimum(最小化安装) 特点:无外网 测试机没有外网,就自己手动源码安装把,的确是要累一些...做个笔记记录一下 官方文档说:...

potaski
2013/10/31
0
0
saltstack的启动报错大部分是因为python!!!

今天安装saltstack 来对之前的笔记做些修正,saltstack默认的是2.7版本的python工具,如果不是纯净的操作系统的话,也可能启动会发生各种各样的错误, 在网上没有找到任何的解决办法,因为碰...

大成无敌
2017/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

1、Vue解决安卓4.4不兼容的问题

1.npm安装 npm install babel-polyfill--save-devnpm install es6-promise--save-dev package.json中会出现 "babel-polyfill": "^6.26.0","es6-promise": "^4.1.1", 2.main.js引入 impo......

阿K1225
10分钟前
0
0
mybatis generator 属性详解

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis......

太黑_thj
14分钟前
0
0
windows nvm 安装 node

nvm 是 node 的版本控制管理 下面是下载 nvm 的地址,选择 nvm-setup.zip 下载 https://github.com/coreybutler/nvm-windows/releases 就是下一步下一步,一键安装 基本命令有: nvm arch [32...

U_I_A_N
16分钟前
0
0
js判断字符串中是否包含某个字符串

indexOf() indexof()方法可以返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回-1。 var str = "123";console.log(str.indexOf("3") != -1);...

小星星_cjx
28分钟前
0
0
函数式组件完整例子

之前创建的组件是比较简单,没有管理或者监听任何传递给他的状态,也没有生命周期方法。它只是一个接收参数的函数。 在下面这个例子中,我们标记组件为 functional,这意味它是无状态 (没有响...

tianyawhl
31分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部