Python 错误:“ImportError:没有名为 6 的模块”
Posted
技术标签:
【中文标题】Python 错误:“ImportError:没有名为 6 的模块”【英文标题】:Python Error: "ImportError: No module named six" 【发布时间】:2014-02-08 22:35:44 【问题描述】:我在 Windows 7 操作系统上运行 Python 2.7
这是我运行的:
>>> import matplotlib.pyplot as plt
然后我明白了:
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
import matplotlib.pyplot as plt
File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 29, in <module>
from matplotlib.figure import Figure, figaspect
File "C:\Python27\lib\site-packages\matplotlib\figure.py", line 36, in <module>
from matplotlib.axes import Axes, SubplotBase, subplot_class_factory
File "C:\Python27\lib\site-packages\matplotlib\axes.py", line 20, in <module>
import matplotlib.dates as _ # <-registers a date unit converter
File "C:\Python27\lib\site-packages\matplotlib\dates.py", line 119, in <module>
from dateutil.rrule import (rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY,
File "C:\Python27\lib\site-packages\dateutil\rrule.py", line 18, in <module>
from six import advance_iterator, integer_types
ImportError: No module named six
现在,我从这里下载了六个:https://pypi.python.org/pypi/six
我解压缩了它,如果我从那里打开一个名为 setup.py 的文件,然后我尝试导入 matplotlib,那么它就可以工作,但我不必每次我想制作一个情节时都这样做吗?有没有办法让它自动工作?
【问题讨论】:
@shx2,请务必在使用短名称创建新标签之前确保search using the full tag list。我们已经有一个六人的标签,它的问题数量足够少,不会出现在自动完成中。 【参考方案1】:在命令行中,导航到包含setup.py
的文件夹并运行
python setup.py install
这会将six
包安装到所有第3 方模块所在的Python site-packages
文件夹中。您现在应该可以毫无问题地导入 matplotlib。
【讨论】:
【参考方案2】:您需要在系统上安装它。这基本上意味着将 zip 文件放在 Python 可以找到的地方,但到目前为止最简单的方法是 pip install six
。不过,这将再次下载。
就像提到的matplotlib installation instructions 一样,six
是dateutil
包的依赖项。大多数理智的安装方法会自动引入这种依赖关系;如果您首先完成了pip install python-dateutil
,那么这个缺失的依赖关系应该在幕后得到满足。如果您需要完全手动安装,则应仔细阅读这些说明。
【讨论】:
或者,他们可以执行pip install six.tar.gz
或调用任何压缩文件。这样就不会再次下载了。
您可能需要安装 pip
才能正常工作。 pypi.python.org 起始页包含您需要的所有文档。
我发现安装dateutil
,你需要使用pip install python-dateutil
为什么这些 pip 模块没有正确安装它们的依赖项?这是一个 hack 修复,但不能解决问题。
@StevenWade 我猜 OP 没有使用 pip
,这就是问题的根源。【参考方案3】:
我可能迟到了,但我遇到了同样的问题。不过,在我 pip 安装 Pandas 之后,问题就消失了。清理后,我收到了这条消息
“成功安装pandas pytz 6”
【讨论】:
【参考方案4】:将 Six.py 和 Six.pyc 复制到 \Lib。
【讨论】:
【参考方案5】:经过长时间的战斗找到了它的工作方式。 Python 3.4 版本。
其实很多人说你可以把这六个包下载为 .zip 文件,然后解压“站点包”文件夹(C:\Python34\Lib\site-packages)中的内容,以便 init.py 包含“six”模块的文件属于从那里读取。
从 init.py 的同一文件之后,当我们运行 python 脚本时,我们会运行 4-5 个模块错误,说明模块不可用。 经过长时间的搜索后,我发现此页面非常有用,然后继续显示错误 IDLE 状态。
祝你好运!”
【讨论】:
【参考方案6】:我得到了完全相同的错误信息。它接缝有很多可能的原因。就我而言,我通过重新安装六个解决了这个问题
pip uninstall six ; pip install six
我猜之前的安装在完全终止之前被中止了。或者可能是权限问题。或者别的什么……现在调查真正的原因为时已晚。
【讨论】:
【参考方案7】:对我来说,我安装了两个版本的 matplotlib。只需运行“pip uninstall matplotlib”,然后再次运行“pip install matplotlib”。对我来说,多个 doenloads 搞砸了一切。先试试这个,如果没有帮助就进入下一步。
【讨论】:
以上是关于Python 错误:“ImportError:没有名为 6 的模块”的主要内容,如果未能解决你的问题,请参考以下文章
pygame 错误:“ImportError:没有名为 'pygame' 的模块”
ImportError:没有名为“urllib2”Python 3的模块[重复]
python ImportError:没有名为win32file的模块