为什么我收到 ModuleNotFoundError,而它已安装并在 sys.path 上?

use*_*ser 1 python windows matplotlib python-2.7 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
Run Code Online (Sandbox Code Playgroud)

测试代码在文件中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()
Run Code Online (Sandbox Code Playgroud)

脚步

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

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
Run Code Online (Sandbox Code Playgroud)

在文件夹上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         ...
...
Run Code Online (Sandbox Code Playgroud)

细节

我直到昨天我的Anaconda Python 2.7.13 工作都很棒。但我也决定安装Python 3.6只为较新版本运行新程序。在那之后它开始不再起作用了。

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

4 年没有格式化我的计算机并且从未删除我的数据,因为我总是使用upgrade工具从 迁移Windows 8.1Windows 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)
Run Code Online (Sandbox Code Playgroud)

我可以找到的相关问题:

  1. 没有名为“matplotlib.pyplot”的模块;'matplotlib' 不是一个包
  2. 导入错误:没有安装 matplotlib 的名为 matplotlib 的模块
  3. 导入错误:没有名为“matplotlib.pyplot”的模块;matplotlib 不是一个包
  4. matplotlib - 导入错误:没有名为 _tkinter 的模块
  5. 导入错误:IDLE 中没有名为 matplotlib 的模块
  6. ModuleNotFoundError:没有名为“matplotlib.pyplot”的模块
  7. 在 jupyter 中导入 matplotlib.pyplot 失败(但不是 ipython)
  8. jupyter ModuleNotFoundError:没有名为 matplotlib 的模块
  9. 导入错误没有名为“matplotlib”的模块
  10. 导入错误:没有名为 matplotlib 的模块
  11. 导入错误:没有模块名称“matplotlib”Python 3.3
  12. 导入错误:没有名为“matplotlib”的模块——使用 Anaconda tensorflow 环境
  13. 已经安装 matplotlib 3 次仍然得到错误:ImportError: No module named backends.backend_wxagg
  14. anaconda 无法导入 matplotlib.pyplot
  15. Python matplotlib 安装问题

小智 5

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


归档时间:

查看次数:

2423 次

最近记录:

8 年,4 月 前