对于ImportError:对于Python2.7.2,没有名为bz2的模块感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍python中说_name_没有被定义,并为您提供关于ImportEr
对于ImportError:对于Python 2.7.2,没有名为bz2的模块感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍python中说_name_没有被定义,并为您提供关于ImportError:Python中没有名为*****的模块、ImportError:没有名为Cython.Distutils的模块、ImportError:没有名为jinja2的模块、ImportError:没有名为pysqlite2的模块的有用信息。
本文目录一览:- ImportError:对于Python 2.7.2,没有名为bz2的模块(python中说_name_没有被定义)
- ImportError:Python中没有名为*****的模块
- ImportError:没有名为Cython.Distutils的模块
- ImportError:没有名为jinja2的模块
- ImportError:没有名为pysqlite2的模块
ImportError:对于Python 2.7.2,没有名为bz2的模块(python中说_name_没有被定义)
我在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安装并重新安装?
答案1
小编典典好的,这在答案表中更容易理解,因此,我将在评论中写的内容移至该答案。
幸运的是,您并未覆盖python的系统版本,因为Ubuntu 11.10预装了2.7.2。
您的python二进制文件(python
和python2.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 forthe bz2 compression library. It implements a complete fileinterface, one shot (de)compression functions, and types forsequential (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/bin
在PATH
如果您已经拥有/usr/local/bin
优先于的内容,则可能不希望如此/usr/bin
,但是为了完整性起见,我添加此内容。
在您的shell配置文件中(不确定Ubuntu的默认设置是什么,但是我正在使用~/.bash_profile
,您可以执行以下操作:
export PATH=/usr/bin:$PATH
删除您的python安装
这是极端的情况,我提出的第一个选择应该是您的第一选择。
您真的需要自己的Python版本吗?如果您想要隔离的python环境,则可能确实需要virtualenv
。除非有理由,否则您可以删除自己的。
虽然会有些烦人,但基本上是:
- 从中删除
python
andpython2.7
和pythonw
andpythonw2.7
命令/usr/local/bin
。 - 去掉
/usr/local/lib/python/2.7.2
这部分不完整,因为我忘记了还有什么。
ImportError:Python中没有名为*****的模块
我是python的新手,大约一个月了,正在尝试弄清楚python中的导入方式。有人告诉我可以导入其中包含Python代码的任何“模块”。因此,我试图导入一个模块只是为了进行尝试,但我不断收到“
ImportError:没有名为redue的模块”。这是python shell的示例:
>>> import os
>>> os.chdir('C:\Users\Cube\Documents\Python')
>>> for file in os.listdir(os.getcwd()):
print file
pronounce.py
pronounce.pyc
readwrite.py
rectangle.py
reduc.py
>>> import reduc
Traceback (most recent call last):
File "<pyshell#32>",line 1,in <module>
import reduc
ImportError: No module named reduc
我究竟做错了什么?我正在忽略某些东西,还是只是被错误告知?
ImportError:没有名为Cython.Distutils的模块
尝试zenlib
使用其setup.py
文件安装Python库时遇到一个奇怪的问题。运行setup.py
文件时,出现导入错误,提示
ImportError:没有名为Cython.Distutils的模块
但是我确实有这样的模块,并且可以在python命令行上导入它而没有任何麻烦。为什么会出现此导入错误?
我认为问题可能与以下事实有关:我使用的是预先安装的Enthought Python
Distribution,而不是使用Ubuntu 12.04随附的Python 2.7。
更多背景信息:这正是尝试运行setup.py时得到的信息:
enwe101@enwe101-PCL:~/zenlib/src$ sudo python setup.py install
Traceback (most recent call last):
File "setup.py",line 4,in <module>
from Cython.Distutils import build_ext
ImportError: No module named Cython.Distutils
但是它可以从命令行运行:
>>> from Cython.Distutils import build_ext
>>>
>>> from fake.package import noexist
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
ImportError: No module named fake.package
请注意,第一个导入有效,第二个导入引发错误。将此与setup.py的前几行进行比较:
#from distutils.core import setup
from setuptools import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
import os.path
我确保通过默认方式运行bash $ PATH环境变量~/.bashrc
,并通过编辑将其添加到最后一行,从而确保默认情况下运行的是Enthought
Python发行版而不是Ubuntu随附的python :
export PATH=/usr/local/epd/bin:$PATH
果然which
python
吐出来/usr/local/epd/bin/python
......不知道什么尝试,我走进我的网站packages目录,(
/usr/local/epd/lib/python2.7/site-
packages
)和充分的权限(R,W,X)来Cython
,Distutils
,build_ext.py
,和__init__.py
文件。尝试可能很愚蠢,但没有改变。
想不出下一步该怎么做!?有任何想法吗?
ImportError:没有名为jinja2的模块
使用google-app-engine教程,我收到以下错误堆栈消息:
Traceback (most recent call last):
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py",line 239,in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py",line 298,in _LoadHandler
handler,path,err = LoadObject(self._handler)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py",line 84,in LoadObject
obj = __import__(path[0])
File "D:\Dev\SandBoxes\web\omaha\omaha.py",line 4,in <module>
import jinja2
ImportError: No module named jinja2
即使我在app.yaml的库中声明了它:
application: ***
version: 1
runtime: python27
api_version: 1
threadsafe: true
libraries:
- name: jinja2
version: latest
- name: webapp2
version: latest
handlers:
- url: /css
static_dir: css
- url: /js
static_dir: js
- url: /img
static_dir: img
- url: /.*
script: omaha.application
有没有人有类似的问题?
ImportError:没有名为pysqlite2的模块
为什么
from pysqlite2 import dbapi2 as sqlite
原因
ImportError:没有名为pysqlite2的模块
python 2.6.5中是否尚未安装pysqlite2?
答案1
小编典典该模块称为sqlite3
。pysqlite2
是模块的名称,然后才成为Python标准库的一部分。
您可能想在代码中使用它:
import sqlite3
标准文档在这里:http :
//docs.python.org/library/sqlite3.html
编辑:只是为了涵盖所有基础:
该sqlite3
模块还具有一个dbapi2
子成员,但是您无需直接使用它。该sqlite3
模块dbapi2
直接公开所有成员。
关于ImportError:对于Python 2.7.2,没有名为bz2的模块和python中说_name_没有被定义的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于ImportError:Python中没有名为*****的模块、ImportError:没有名为Cython.Distutils的模块、ImportError:没有名为jinja2的模块、ImportError:没有名为pysqlite2的模块等相关知识的信息别忘了在本站进行查找喔。
本文标签: