mathplotlib six.moves.urllib.request导入错误

时间:2017-04-24 02:07:47

标签: python numpy pycharm

我在尝试导入mathplotlib时遇到了这个问题。

这是我得到的错误:

Traceback (most recent call last):
  File "C:/xxx/solver.py", line 7, in <module>
    import matplotlib
  File "C:\Users\xxx\Anaconda2\lib\site-packages\matplotlib\__init__.py", line 129, in <module>
    from six.moves.urllib.request import urlopen
ImportError: cannot import name urlopen

1 个答案:

答案 0 :(得分:3)

以下是我用来解决此问题的解决方案。我花了一段时间来弄清楚这一点,我无法在网上找到任何帮助我的参考资料,所以我在这里发布解决方案。

我替换了matplotlib中的违规行/ init .py

from six.moves.urllib.request import urlopen

使用:

from urllib.request import urlopen

让我看到了真正的错误:

import socket
  File "C:\PROJECTS\xxx\socket.py", line 7, in <module>
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
AttributeError: 'module' object has no attribute 'AF_INET'

所以问题是我已经命名了我的一个模块&#34; socket.py&#34;这导致了一个错误,这被六个移动导入机制所掩盖。这个文件在我的项目树中堆得相当深,但它碰巧与我试图运行的脚本处于同一级别,这可能就是它在根级别导入的原因。

我在Windows上使用PyCharm来实现这一切。