2017-04-24 32 views
0

mathplotlibをインポートしようとしている間にこの問題が発生しました。ここでmathplotlib six.moves.urllib.requestインポートエラー

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 

答えて

2

は、私はこの問題を解決するために使用されるソリューションです。

これは私がなっていたエラーでした。これを理解するまでにはしばらく時間がかかりました。私は参考にした参考文献をオンラインで見つけることができませんでしたので、ここで解決策を投稿しています。

私はmatplotlibの中に問題のある行/ のinitを置き換えるの.py

from six.moves.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' 

:私は本当のエラーを見ることができ

from urllib.request import urlopen 

問題は私が私のモジュール "socket.py"とthエラーを引き起こしていました。これは、six.movesインポート機構によってマスクされました。このファイルはプロジェクトツリーのかなり深いところに積み重ねられていましたが、実行しようとしていたスクリプトと同じレベルになっていました。おそらくそれがルートレベルでインポートされていたのでしょう。

私はこのすべてのためにWindowsでPyCharmを使用していました。