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 一样,sixdateutil 包的依赖项。大多数理智的安装方法会自动引入这种依赖关系;如果您首先完成了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的模块

Python bigquery - ImportError:没有名为 google.apputils 的模块

Python ImportError:没有名为串行的模块

Python ImportError:没有名为 pygments 的模块