我在尝试导入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
答案 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来实现这一切。