2017-06-03 55 views
1

完整的錯誤是:爲什麼在安裝時和sys.path中收到ModuleNotFoundError?

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() 

步驟

我第一次運行該代碼後,我得到了python系統路徑如下所示,當我做的時候顯示波紋管的兩倍for item in sys.path: print(item)

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

你的第一個'sys.path'是'D:\ pyqt4_examples',它有一個名爲'matplotlib.py'的文件...'import matplotlib.xxx'會嘗試加載這個文件,這就是爲什麼它不是包。重命名它,看看是否修復它。 – AChampion

+0

謝謝@AChampion!在錯誤消息中明確指出它正嘗試導入與模塊名稱相同的文件。我無法相信我失去了2整天加上未來的一個月,重新安裝我的所有應用程序和備份的東西這麼簡單。 – user

回答

2

你只需要重命名文件matplotlib.py到其他的東西。這個錯誤是因爲Python首先在導入文件的當前文件夾上查找文件,並找到名爲模塊的文件。它永遠不會導入模塊正確,因爲它試圖將文件導入到您的文件夾中。

相關問題