Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

No module named '_bz2' in python3

When trying to execute the following command:

import matplotlib.pyplot as plt

The following error occurs:

from _bz2 import BZ2Compressor, BZ2Decompressor ImportError: No module named '_bz2'

So, I was trying to install bzip2 module in Ubuntu using :

sudo pip3 install bzip2

But, the following statement pops up in the terminal:

Could not find a version that satisfies the requirement bzip2 (from versions: ) No matching distribution found for bzip2

What can I do to solve the problem?

like image 332
Sifat Muhammad Abdullah Avatar asked May 14 '18 17:05

Sifat Muhammad Abdullah


3 Answers


If you compiling python yourself, you need to install libbz2 headers and .so files first, so that python will be compiled with bz2 support.

On ubuntu, apt-get install libbz2-dev then compile python.

like image 51
ospider Avatar answered Nov 08 '22 23:11

ospider


In my case I got the error when importing Pandas. Installing Python 3.9 solved it.

My python version was 3.8.6. I am using Pyenv and running MacOS Big Sur.

Error

$ python
Python 3.8.6 (default, Nov 21 2020, 02:39:42)
[Clang 12.0.0 (clang-1200.0.32.27)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
Traceback (most recent call last):
...
    from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'

installed 3.9.1

$ pyenv install --list
$ pyenv install 3.9.1
$ pyenv local 3.9.1
$ pyenv global 3.9.1
$ pip install pandas

Again

$  python
Python 3.9.1 (default, Jul  5 2021, 22:26:09)
[Clang 12.0.5 (clang-1205.0.22.11)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>>
like image 34
user9869932 Avatar answered Nov 09 '22 00:11

user9869932


I found a pattern in those issue.

It happens mostly if you are missing dev tools and other important libraries important to compile code and install python.

For me most of those step did not work. But I had to do the following :

  • Remove my python installation

pyenv uninstall python_version

  • Then install all the build tools to make sure I am not missing any

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \ libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

  • Reinstall the new python version

pyenv install python_version

I hope that solves your issues.

like image 2
Espoir Murhabazi Avatar answered Nov 09 '22 01:11

Espoir Murhabazi