当前位置: 首页 > 面试题库 >

ImportError:对于Python 2.7.2,没有名为bz2的模块

师冥夜
2023-03-14
问题内容

我在Ubuntu 11.10上使用Python 2.7.2。导入bz2模块时出现此错误:

ImportError: No module named bz2

我认为bz2模块应该随Python 2.7一起提供。我该如何解决这个问题?

编辑:我想我以前通过从源代码编译安装了Python
2.7.2。可能那时我还没有libbz2-dev,所以没有安装bz2模块。现在,我希望通过安装Python2.7

sudo apt-get install python2.7

但是它会说它已经安装了。有什么方法可以卸载以前的Python2.7安装并重新安装?


问题答案:

好的,这在答案表中更容易理解,因此,我将在评论中写的内容移至该答案。

幸运的是,您并未覆盖python的系统版本,因为Ubuntu 11.10预装了2.7.2。

您的python二进制文件(pythonpython2.7)位于中/usr/local/bin,该目录通常是安装用户特定的东西的目录。很好,这意味着您的系统python仍然存在。

首先,只需尝试运行系统python。从命令行输入:

/usr/bin/python -c "import bz2; print bz2.__doc__"

这应该打印出这样的内容:

λ > /usr/bin/python -c "import bz2; print bz2.__doc__"

The python bz2 module provides a comprehensive interface for
the bz2 compression library. It implements a complete file
interface, one shot (de)compression functions, and types for
sequential (de)compression.

如果是这样,则表示您还可以。

因此,您只需要修复PATH,就可以告诉Shell在哪里找到命令。/usr/local/bin将优先于/usr/local,因此,有一些方法可以解决此问题,以困难/烦恼/更改系统的顺序:

python从中删除符号链接/usr/local/bin

这样一来,当您键入时python,它应该返回到execute /usr/bin/python,这是系统python 2.7.2的别名。

sudo rm /usr/local/bin/python

移至/usr/binPATH

如果您已经拥有/usr/local/bin优先于的内容,则可能不希望如此/usr/bin,但是为了完整性起见,我添加此内容。

在您的shell配置文件中(不确定Ubuntu的默认设置是什么,但是我正在使用~/.bash_profile,您可以执行以下操作:

export PATH=/usr/bin:$PATH

删除您的python安装

这是极端的情况,我提出的第一个选择应该是您的第一选择。

您真的需要自己的Python版本吗?如果您想要隔离的python环境,则可能确实需要virtualenv。除非有理由,否则您可以删除自己的。

虽然会有些烦人,但基本上是:

  • 从中删除pythonandpython2.7pythonwandpythonw2.7命令/usr/local/bin
  • 去掉 /usr/local/lib/python/2.7.2

这部分不完整,因为我忘记了还有什么。



 类似资料:
  • 问题内容: 我已经使用命令安装了redis,但是当我运行Python程序时收到此错误: 知道发生了什么问题还是我也应该安装其他软件包?我正在使用Ubuntu 13.04,并且具有Python 2.7。 问题答案: 要安装redis-py,只需: 或者(您确实应该使用点子): 或从来源: 入门 详细信息:https : //pypi.python.org/pypi/redis

  • 问题内容: 由于某种原因,我不能使用or模块。在python shell中运行以下命令后 要么 我得到这个错误 ModuleNotFoundError:没有名为“ Tkinter”的模块 要么 ModuleNotFoundError:没有名为“ tkinter”的模块 可能是什么原因,我们如何解决呢? 问题答案: 您可能需要使用以下一种(或类似的方式)安装它: 您也可以针对python 3.7提及

  • 问题内容: 我在 Google App Engine的Python 使用Google Translate API时遇到此错误,但是我不知道如何解决, 我将尝试 设置指示Google App Engine SDK的环境 ,然后再次上传到Google Apps Engine, 始终会收到错误消息 , 错误:服务器错误 服务器遇到错误,无法完成您的请求。如果问题仍然存在,请报告您的问题并提及此错误消息以

  • 问题内容: 我指的是以下教程来为我的Web应用程序创建登录页面。 http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982 我的数据库有问题。我正在 当我执行 我已经尝试了所有可能的方法来安装python mysql,这是本教程中提到的一种,easy_install,sudo apt-get in

  • 问题内容: 我是这个Python世界的新手(仅1周)。我尝试安装django-mssql,但是当我尝试导入库(使用)时,出现以下错误消息: 我试图寻找那个图书馆而没有成功。 你们能指出我正确的方向吗? 问题答案: 您缺少包裹。它带有ActivePython,但您可以将它作为pywin32的一部分单独在GitHub(以前在SourceForge上)上获得。 您也可以简单地使用:

  • 问题内容: 我目前正在练习matplotlib。这是我练习的第一个示例。 当我使用运行脚本时,它可以正确显示绘图。但是,我自己运行它,它引发了以下问题: python是否在不同位置查找matplotlib? 环境是: numpy,scipy,matplotlib已安装: 问题答案: 您的计算机上安装了两个python,一个是Mac OSX随附的标准python,第二个是您使用端口安装的python