---
title: 执行Python脚本报错，提示：No module named _bz2
description: "执行Python脚本报错，提示没有_bz2模块：No module named _bz2。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Appendices/faq/faq_0026.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Appendices/faq/faq_0026.html
indexId: 4eedbdc5f705c75d481d906ed4cb2837a3e009044fea58511c4ba26c280801de74
---
# 执行Python脚本报错，提示：No module named _bz2

#### 现象描述

执行Python脚本报错，提示没有_bz2模块：No module named _bz2。


#### 可能原因

该依赖库不是Python库，而是C语言的系统动态库，属于Python的底层库，需要在编译Python阶段一起编译才能使用。


#### 解决方案

1. 使用sudo或root用户执行安装bz2。

  - Ubuntu22.04版本镜像：

```
sudo apt-get update
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
```


  - OpenEuler22.03版本镜像：

```
yum install -y bzip2* zlib zlib-devel
```


2. 下载Python安装包，并使用本地域用户执行重新编译并安装Python，Python版本可自行决定。

```
cd <python安装包路径>
./configure --prefix=/usr/local/python3.9.7 --enable-loadable-sqlite-extensions --enable-shared --enable-optimizations
make -j4
sudo make install
```
