1. 错误场景: 在python 安装 pandas 和 sqlalchemy 以后,运行脚本时候,提示“No module named ‘_bz2’”

2. 大致原因分析,对应环境同时安装了两个python3 环境(我这里是python 3.6 和 3.7 )对应安装库只安装到了 3.6环境下,导致 3.7环境下缺少对应的.SO文件。(报错的python 环境并不是系统默认的python3 环境)

解决方案 :

         1. 确保安装了 对应的库 sudo apt-get install bzip2-devel 

         2. 找到对应的 bzip2 的 .so 文件  _bz2.cpython-36m-x86_64-linux-gnu.so,我的是在3.6环境下安装的因此位置在 /usr/lib/python3.6/lib-dynload/ 下 

        3. 将对应的 .so 文件 复制python3.7 对应的目录下(我的是/usr/local/lib/python3.7/lib-dynload/ 需要根据你自己安装的位置寻找)  并将文件名中“36m” 修改为 “37m” 即可 

tips:(find命令) find (目录起点) -name 加上文件名 查找文件比较快

        可以使用whereis python3 来找到系统默认的python 环境的位置。

Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐