python解决 ModuleNotFoundError: No module named _bz2

python解决 ModuleNotFoundError: No module named _bz2在服务器上安装python3.6.5,之前用的没什么问题,今天使用matplotlib给出了报错。报错内容:from_bz2importBZ2Compressor,BZ2DecompressorModuleNotFoundError:Nomodulenamed’_bz2’看了一堆些常见的解决教程,都不好用,后来看了了stackflow发现了问题:https://stacko…

大家好,又见面了,我是你们的朋友全栈君。

更新:

想到了以前这篇存在的问题来更新一下。直接塞个文件进去是能解决报错,但是有可能报缺少别的东西,治标不治本。装python的时候留意了一下,有两种情况:

  1. 就是bz2没装。
  2. 名称不同,python3有_bz2和bz2,python2只有bz2

bz2这东西是底层系统的模块,不是python pip安装的部分,要在你编译python之前装好。如果已经报错了,则要装了bz2以后重新编译安装python。实际上在服务器上安装自己的python的时候少了很多模块,但是也不是python组件必要的,于是它给你列出了(如下图所示)。虽说你也完成了安装,日后就留下了伏笔。bz2作为系统组件要root装的,服务器环境这么搞不太合适。

python解决 ModuleNotFoundError: No module named _bz2

所以服务器上非root最直接的方法是:

请使用Anaconda

在装python的时候就把依赖全部配置好了,省事。

python解决 ModuleNotFoundError: No module named _bz2

接着我试了下:

python2下,有bz2没有_bz2

python解决 ModuleNotFoundError: No module named _bz2

python3下,都有的。

python解决 ModuleNotFoundError: No module named _bz2

yysy,服务器没有roor的情况,还是anaconda好用。


在服务器上安装python3.6.5,之前用的没什么问题,今天使用matplotlib给出了报错。

报错内容:

    from _bz2 import BZ2Compressor, BZ2Decompressor

ModuleNotFoundError: No module named ‘_bz2’

看了一堆些常见的解决教程,都不好用,后来看了了stackflow发现了问题:

https://stackoverflow.com/questions/12806122/missing-python-bz2-module

linux下使用官方source release安装会出现这个问题,而apt-get之类的则不会。

由于缺少root权限,也没有yum可以用,所以好多方法都不好用。直到看到这篇:

Linux下非Root用户解决ImportError: No module named bz2

说白了少个文件,它不一定叫bz2.so,但是大概是lib-dynload文件下的含有bz2的so文件,复制到自己的python的同名文件夹下就好了。

路径全称:…/python36/lib/python3.6/lib-dynload/

我找到的文件叫:_bz2.cpython-36m-x86_64-linux-gnu.so

里面-36m是版本对应的,也必须改,例如python3.5版本就应该叫-35m。

分享这个文件,不知道哪天失效:https://pan.baidu.com/s/1fHhxNiHOLKDqZ-9wHw3JTA

 

后记:我从服务器python3.5里面拿过来的,刚拿过来不好用,它一开始叫bz2.cpython-36m-x86_64-linux-gnu.so,

我自己用的python3.6,看了一眼目录里都是-36m的,改了一下名发现好用了。用在其它版本的请对应改名。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134875.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • 如何利用IDM加速下载百度网盘大文件

    如何利用IDM加速下载百度网盘大文件如何利用IDM加速下载百度网盘大文件(以下内容来自扩展迷EXTFANS,侵权可删)一、开发背景二、功能介绍三、如何下载百度网盘大文件1、安装IDM软件2、配置IDM软件3、安装油猴脚本4、下载百度网盘文件一、开发背景谷歌浏览器纵使有许多优点,但下载管理这方面依然是其劣势。Chrome的原生下载管理功能,谁用了大概都要说一句“鸡肋”。不仅入口需要打开二级菜单,而且连最基本的一些执行操作都不支持。每当在浏览网页时,我们经常看到一些有趣的视频想要下载下来。这时候,就只有通过视频嗅探工具来实现。而在面对百度网盘

  • Ansi,UTF8,Unicode,ASCII编码的差别

    Ansi,UTF8,Unicode,ASCII编码的差别

  • 阿里云URL转发类问题排查[通俗易懂]

    阿里云URL转发类问题排查[通俗易懂]概念URL转发包含URL隐性转发和URL显性转发,主要是指将一个域名指向另外一个已经存在的站点时,可以通过URL转发实现。隐性URL转发是用的是iframe框架技术,显性URL转发采用的是301(也称之为永久性转移)或302重定向技术(也称之为暂时性转移)。301和302说明301redirect:301代表永久性转移(PermanentlyMoved)302redirect:302代表暂时性转移(TemporarilyMoved)共同点:301和302状态码都表示重定向,当浏览

    2022年10月19日
  • CentOS 怎么设置某个目录包括子目录的写入权限 777呢「建议收藏」

    CentOS 怎么设置某个目录包括子目录的写入权限 777呢「建议收藏」chmod-R777文件夹例如:chmod-R777/varvar的权限就变成777,var下的所有子目录和文件权限都将变成777

  • Zigbee协议栈进行数据发送

    Zigbee协议栈进行数据发送Zigbee协议栈进行数据发送是调用AF_DataRequest这个函数,该函数会调用协议栈里面与硬件相关的函数最终将数据通过天线发送出去。  afStatus_tAF_DataRequest(afAddrType_t*dstAddr,//目的地址指针                             endPointDesc_t*srcEP, //发送节点的端点描述符

  • 快速排序(过程图解)

     假设我们现在对“6  1  27  9  3  4  510  8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放在6的左边,类似下面这种排列。    3  1  25  4  …

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号