Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

missing python bz2 module

I have installed at my home directory.

[spatel@~ dev1]$ /home/spatel/python-2.7.3/bin/python -V Python 2.7.3 

I am trying to run one script which required python 2.7.x version, and i am getting missing bz2 error

[spatel@~ dev1]$ ./import_logs.py Traceback (most recent call last):   File "./import_logs.py", line 13, in <module>     import bz2 ImportError: No module named bz2 

I have tried to install bz2 module but i got lots of error

 [spatel@dev1 python-bz2-1.1]$ /home/spatel/python-2.7.3/bin/python setup.py install     ...     ...     ...     bz2.c:1765: error: âBZ_FINISH_OKâ undeclared (first use in this function)     bz2.c:1765: warning: comparison between pointer and integer     bz2.c:1771: error: âPyMemberDefâ has no member named âavail_outâ     bz2.c:1778: error: âPyMemberDefâ has no member named ânext_outâ     bz2.c:1778: error: âPyMemberDefâ has no member named âtotal_out_hi32â     bz2.c:1778: error: âPyMemberDefâ has no member named âtotal_out_lo32â     bz2.c:1778: error: invalid operands to binary +     bz2.c:1778: warning: statement with no effect     bz2.c:1779: error: âPyMemberDefâ has no member named âavail_outâ     bz2.c:1779: error: âPyMemberDefâ has no member named ânext_outâ     bz2.c:1779: error: invalid operands to binary -     bz2.c:1779: error: invalid operands to binary -     bz2.c:1779: warning: statement with no effect     bz2.c:1783: error: âPyMemberDefâ has no member named âavail_outâ     bz2.c:1784: error: âPyMemberDefâ has no member named âtotal_out_hi32â     bz2.c:1784: error: âPyMemberDefâ has no member named âtotal_out_lo32â     bz2.c:1784: warning: passing argument 2 of â_PyString_Resizeâ makes integer from pointer without a cast     error: command 'gcc' failed with exit status 1 
like image 742
Satish Avatar asked Oct 09 '12 18:10

Satish


2 Answers

Probably as you built python from source, you don't have bz2 headers.

Install them on Ubuntu/Debian:

sudo apt-get install libbz2-dev 

Fedora:

sudo yum install bzip2-devel  

And build python again. You may notice that python checks for lots of libraries when configuring/building, if you miss some of them you probably will get no support for libs like bz2 on your case.

You should get prebuild binaries to avoid this kind of stuff. Ubuntu 12.04 packs python 2.7.3, the version your script needs.

like image 57
jviotti Avatar answered Sep 19 '22 17:09

jviotti


I had this happen for python 3.8.2 when importing pandas: import pandas as pd

resulted in a long error message ending with: "error: ModuleNotFoundError: No module named '_bz2'"

This was resolved by doing the following 2 bash commands:

sudo apt-get install libbz2-dev sudo cp /usr/lib/python3.8/lib-dynload/_bz2.cpython-38-x86_64-linux-gnu.so  /usr/local/lib/python3.8/ 

Then it worked fine.

like image 42
BryanMinorPhD Avatar answered Sep 20 '22 17:09

BryanMinorPhD