为什么我在安装它时和sys.path上收到ModuleNotFoundError?

时间:2017-06-03 01:58:50

标签: python windows python-2.7 matplotlib windows-10

完整错误是:

Traceback (most recent call last):
  File "D:\pyqt4_examples\matplotlib.py", line 4, in <module>
    import matplotlib.pyplot as plt
  File "D:\pyqt4_examples\matplotlib.py", line 4, in <module>
    import matplotlib.pyplot as plt
ModuleNotFoundError: No module named 'matplotlib.pyplot'; 'matplotlib' is not a package

测试代码位于文件histogram.py

import sys
for item in sys.path: print( item )

import random
import matplotlib.pyplot as plt

x = random.sample(range(1000), 30)
xbins = [0, len(x)]

print( "x: " + str( x ) )
print( "xbins: " + str( xbins ) )

plt.bar(range(0,30), x)
plt.show()

的步骤

在我第一次运行代码之后,当我执行for item in sys.path: print( item )时,我得到了python系统路径double,如下所示:

D:\pyqt4_examples
F:\Python36\python36.zip
F:\Python36\DLLs
F:\Python36\lib
F:\Python36
F:\Python36\lib\site-packages
F:\Python36\lib\site-packages\Sphinx-1.5.6-py3.6.egg
F:\Python36\lib\site-packages\win32
F:\Python36\lib\site-packages\win32\lib
F:\Python36\lib\site-packages\Pythonwin
F:\Python36\lib\site-packages\setuptools-27.2.0-py3.6.egg
D:\pyqt4_examples
F:\Python36\python36.zip
F:\Python36\DLLs
F:\Python36\lib
F:\Python36
F:\Python36\lib\site-packages
F:\Python36\lib\site-packages\Sphinx-1.5.6-py3.6.egg
F:\Python36\lib\site-packages\win32
F:\Python36\lib\site-packages\win32\lib
F:\Python36\lib\site-packages\Pythonwin
F:\Python36\lib\site-packages\setuptools-27.2.0-py3.6.egg
...
Here is the erro message, just above

F:\Python36\lib\site-packages文件夹上,matplotlibmatplotlib.pyplot正确无误:

$ ls F:\Python36\lib\site-packages\matplotlib
__init__.py               _mathtext_data.py    animation.py       blocking_input.py  ...
_contour.cp36-win32.pyd   _version.py          backend_tools.py   compat             ...
_delaunay.cp36-win32.pyd...                    mathtext.py        pyplot.py...
_image.cp36-win32.pyd     afm.py               bezier.py          contour.py         ...
...

详细

直到昨天,我的Anaconda Python 2.7.13工作得非常好。但我还决定安装Python 3.6以仅为新版本运行新程序。在那之后它开始不再工作了。

我不明白为什么所以我卸载了Python 3,但仍然无法正常工作。然后我重新安装了Python 2.7并仍然无法正常工作。我安装了Pythonxy但仍无法正常工作。

4年后没有格式化我的电脑而且从不删除我的数据,因为我总是使用upgrade工具从Windows 8.1迁移到Windows 10,我完全格式化了我的电脑,删除了我的所有电脑数据,并安装了Windows 10 Creator Update的全新安装。并安装了Python Anaconda 2.7但仍无效。然后我安装了Python 3 Anaconda但仍然无法正常工作。然后我卸载了Python 2.7并仍然无法正常工作。

我不知道为什么它不起作用。我该如何调试python,或者我可以尝试找到什么问题?我的意思是,它没有任何意义,因为它是一个全新的系统安装,它怎么能立即打破Python?要么在我的旧安装上使用python已有4年了,直到昨天才出现问题。现在旧的和干净的全新安装都无法正常工作。

我的系统现在是:

$ systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.15063 N/A Build 15063

$ python --version
Python 3.6.1 :: Anaconda 4.4.0 (32-bit)

我可以找到相关问题:

  1. No module named 'matplotlib.pyplot'; 'matplotlib' is not a package
  2. ImportError: No module named matplotlib with matplotlib installed
  3. ImportError: No module named 'matplotlib.pyplot'; matplotlib is not a package
  4. matplotlib - ImportError: No module named _tkinter
  5. ImportError: No module named matplotlib in IDLE
  6. ModuleNotFoundError: No module named 'matplotlib.pyplot'
  7. Failure to import matplotlib.pyplot in jupyter (but not ipython)
  8. jupyter ModuleNotFoundError: No module named matplotlib
  9. ImportError No module named 'matplotlib'
  10. ImportError: No module named matplotlib
  11. ImportError: No module names 'matplotlib' Python 3.3
  12. ImportError: No module named 'matplotlib' -- Using Anaconda tensorflow environment
  13. Have installed matplotlib 3 times still get error: ImportError: No module named backends.backend_wxagg
  14. anaconda cannot import matplotlib.pyplot
  15. Python matplotlib installation issue

1 个答案:

答案 0 :(得分:4)

您只需要将文件matplotlib.py重命名为其他内容。此错误是因为Python首先在当前文件夹中查找导入文件,然后找到名为模块的文件。它永远不会导入模块正确,因为它试图导入文件夹上的文件。