问题
I realize this seems like a generic question, but all answers pointed to having two simultanious python
installations - I already uninstalled the other one.
Currently I run my code from PyCharm 2017.1.5 (windows 10) with Python interpreter set as Python 3.6.1 (C:\Anaconda3\python.exe)
, i.e. I installed Anaconda3, which includes the matplotlib
, and run from PyCharm using the Ananconda3-interpreter.
I've checked in Anaconda Navigator that matplotlib 2.0.2
is installed in the environment.
A minimal (non-working) example:
import matplotlib.pyplot as plt
plt.plot(range(10))
plt.show()
Returns the following error:
C:\Anaconda3\python.exe C:/Users/John/Documents/CPU/master/untitled/main11.py
Traceback (most recent call last):
File "C:/Users/John/Documents/CPU/master/untitled/main11.py", line 1, in <module>
import matplotlib.pyplot as plt
File "C:\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 29, in <module>
import matplotlib.colorbar
File "C:\Anaconda3\lib\site-packages\matplotlib\colorbar.py", line 34, in <module>
import matplotlib.collections as collections
File "C:\Anaconda3\lib\site-packages\matplotlib\collections.py", line 37, in <module>
import matplotlib.lines as mlines
File "C:\Anaconda3\lib\site-packages\matplotlib\lines.py", line 28, in <module>
from matplotlib.markers import MarkerStyle
ModuleNotFoundError: No module named 'matplotlib.markers'
Process finished with exit code 1
This ran fine 2 weeks ago, but not now. To my knowledge, I didn't change or update anything. The module loads correctly, but it seems to be a change in the module content? If so: How did that happen and how can I fix it?
回答1:
@ImportanceOfBeingErnest lead me in the right direction. I post my solution here s.t. others may find the answer. The problem was a corrupted disk sector - an unlikely event of chance.
The problem was indeed in the matplotlib
-package itself. Retrospectively, pointers to the issue were that errors in pre-distributed packages should not exist. If they do, external circumstances must have corrupted and the problem is not with the Python-installation itself.
I uninstalled matplotlib
through Anaconda Prompt with conda remove matplotlib
and re-installed with conda install matplotlib
. This gave me this error:
(C:\Anaconda3) C:\Users\John>conda install matplotlib
[...]
ERROR conda.core.link:_execute_actions(337): An error occurred while installing package 'defaults::matplotlib-2.0.2-np112py36_0'.
OSError(22, 'Invalid argument') Attempting to roll back.
OSError(22, 'Invalid argument')
Before @Ernest's comment, I thought it maybe had to do with non-ASCII in PATH or similar.
Instead I tried to reinstall Anaconda3 completely, restarted and found that part of the Anaconda3-folder weren't removed (the one containing the matplotlib
).
Deleting it manually gave a Windows error 0x80070570
. Following this post on ServerFault (the comment to OP) I ran a check and afterwards a repair from Windows Explorer GUI: Right-click on the drive in This PC --> Properties --> Tab Tools --> Check (repair appears if any errors are found).
After some restarts, reinstalling Anaconda3 from scratch and restarting again, I was able to run my project again!
回答2:
It is difficult to answer this question directly, however, I have seen a large amount of issues in corporate Windows environments with PyCharm and Anaconda these are some of the issues you may be having
Check you
PATH
is correctly pointing to all Anaconda locationsimport sys sys.path
Check that your files have not been migrated to
C:\Users\username\AppData\Roaming
by your IT team- Purge your system for any
python
distributions. There may be software distributions that you use internally that package their ownpython
distribution. This can often be included in thePATH
. Another example could be installing Anaconda to yourC:\
but also having it already installed inUsers\Local\AppData
or'C:\Program Files'
months before and forgotten!
A good way of directly debugging your problem would be to navigate to the following directory in ipython
C:\Anaconda3\lib\site-packages\matplotlib
and they try import matplotlib.markers
If this fails then you could then try
import matplotlib
matplotlib.__file__
you should check that this result gives
'C:\\Anaconda3\\lib\\site-packages\\matplotlib\\__init__.pyc'
as most likely there will be another matplotlib
version installed that is taking precedence. This will then fall under one of the issues above to correct.
回答3:
PyCharm requires installing packages available in the interpreter.
You can find matplotlib and other packages available for an install using the following steps:
- Open the File--Settings--Project--Project Interpreter menu.
- You should see all packages you currently have installed, and matplotlib should be missing from this list.
- Click the + (add) button to the right and install the matplotlib package.
- Once complete, close the top dialog box, and you should see matplotlib in the list of installed packages.
来源:https://stackoverflow.com/questions/45693420/python-modulenotfounderror-but-module-is-installed