执行Python脚本报错,提示:No module named _bz2
现象描述
执行Python脚本报错,提示没有_bz2模块:No module named _bz2。
可能原因
该依赖库不是Python库,而是C语言的系统动态库,属于Python的底层库,需要在编译Python阶段一起编译才能使用。
解决方案
- 使用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
- Ubuntu22.04版本镜像:
- 下载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
父主题: 样例运行