python3.6 使用 gensim 报错ModuleNotFoundError: No module named '_bz2'

python3.6 使用 gensim 报错ModuleNotFoundError: No module named '_bz2'

In [1]: import gensim
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
......
......
ModuleNotFoundError: No module named '_bz2'

In [2]:            

linux下使用官方source release安装会出现这个问题,所以要先安装依赖,再重新编译
也可以将缺少的文件手动放到环境中

方式一

liunx下安装
ubantu

sudo apt-get install libbz2-dev

centos

sudo yum install bzip2-devel 

进入python3的安装目录,重新编译python3

./configure
make && make install

再次使用就可以了

In [1]: from gensim import corpora

In [2]: 

方式二

从网上找下bz2的so文件。
比如我的python3.6 lib-dynload目录在/usr/local/lib/python3.6/lib-dynload
从网上找下bz2的so文件复制到lib-dynload文件下,也可以从其他同版本的python复制过来
我编译安装后新增了_bz2.cpython-36m-x86_64-linux-gnu.so(从数量上看还有一些其他的so文件,没能统计到)

提供下我刚编译生成的so文件,不行网上再找找吧
本人安装环境centos6.8 python3.6.8
链接:https://pan.baidu.com/s/1HYCSlt7djZqgNL27I3crIg
提取码:jd4x




顺便列出python3安装编译前常用依赖

yum -y install gcc python36-devel bzip2-devel sqlite-devel openssl-devel readline-devel xz-devel xz-devel tk-devel gdbm-devel libffi-devel

python3 编译安装前把以上全部安装下,减少之后安装包报错

你可能感兴趣的:(python3.6 使用 gensim 报错ModuleNotFoundError: No module named '_bz2')