pee*_*dog 1 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
Run Code Online (Sandbox Code Playgroud)
这是我用来解决这个问题的解决方案。我花了一段时间才弄清楚这个问题,并且我在网上找不到任何对我有帮助的参考资料,所以我在这里发布解决方案。
我替换了 matplotlib/ init .py中的有问题的行
from six.moves.urllib.request import urlopen
Run Code Online (Sandbox Code Playgroud)
和:
from urllib.request import urlopen
Run Code Online (Sandbox Code Playgroud)
这让我看到了真正的错误:
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'
Run Code Online (Sandbox Code Playgroud)
所以问题是我将我的模块之一命名为“socket.py”,这导致了一个错误,该错误被 Six.moves 导入机制掩盖了。该文件在我的项目树中堆叠得相当深,但它恰好与我尝试运行的脚本处于同一级别,这可能就是它在根级别导入的原因。
我在 Windows 上使用 PyCharm 来完成这一切。
| 归档时间: |
|
| 查看次数: |
2121 次 |
| 最近记录: |