在Python编译的时候加入bz2

当使用Spark + Python的时候,python代码会有 import bz2,此时有可能会有 No module named bz2 的错误。

这个错误的原因是:Spark 使用python的时候,需要将整个Python目录压缩成zip后,上传到hdfs中,这样需要通过编译生成一个新的Python(不干扰原linux已有的),默认是没有bz2的,而bz2是系统级的模块,因此系统中经常已经有这个模块了,对于系统默认的python是有效的,但是对于Spark使用的Python.zip 是没有的。这时就需要在编译时将bz2加入。

加入方法:

  1. dpkg -L libbz2-1.0  # 找到系统文件的位置
  2. 将所有的 libbz2.so* 的文件,复制到 python原文件目录的Lib中
  3. 然后重新编译Python。
cd Python-2.7.12 export PYTHON_ROOT=~/Python
       ./configure --prefix="${PYTHON_ROOT}" --enable-unicode=ucs4

       make
       make install


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部