Python Problem importing matplotlib in Python

AI Thread Summary
The discussion revolves around issues encountered while trying to import matplotlib in Python 3.8.3 on Windows 10. The user experiences repeated output and errors related to the 'numbers' module, specifically an AttributeError indicating that 'numbers' has no attribute 'Integral'. The problem is traced back to a conflicting file named 'numbers.py' in the user's Python search path, which interferes with the correct module required by numpy. After renaming the conflicting file, the issue is resolved. Additionally, there is a mention of using Anaconda instead of pip for package management, as it is more suitable for projects in airgapped environments.
PeroK
Science Advisor
Homework Helper
Insights Author
Gold Member
2024 Award
Messages
29,125
Reaction score
20,746
TL;DR Summary
Installed successfully but won't import
I'm running Python 3.8.3 on Windows 10 and was have installed matplotlib, but I can't get it to work. If I try import matplotlib then first it seems to spit out some output (always the same) from a couple of basic test programs I wrote (which is really weird), then just gets a bunch of errors:

c=300000000
Favorite number is 1729
Traceback (most recent call last):
File "C:\Users\pero_\OneDrive\Documents\python_work\mpl_squares.py", line 1, in <module>
import matplotlib
File "C:\Users\pero_\AppData\Roaming\Python\Python38\site-packages\matplotlib\__init__.py", line 139, in <module>
from . import cbook, rcsetup
File "C:\Users\pero_\AppData\Roaming\Python\Python38\site-packages\matplotlib\cbook\__init__.py", line 32, in <module>
import numpy as np
File "C:\Users\pero_\AppData\Roaming\Python\Python38\site-packages\numpy\__init__.py", line 145, in <module>
from . import core
File "C:\Users\pero_\AppData\Roaming\Python\Python38\site-packages\numpy\core\__init__.py", line 70, in <module>
from . import numerictypes as nt
File "C:\Users\pero_\AppData\Roaming\Python\Python38\site-packages\numpy\core\numerictypes.py", line 596, in <module>
_register_types()
File "C:\Users\pero_\AppData\Roaming\Python\Python38\site-packages\numpy\core\numerictypes.py", line 591, in _register_types
numbers.Integral.register(integer)
AttributeError: module 'numbers' has no attribute 'Integral'
[Finished in 0.9s]

I've been down a rabbit hole with this most of the day. I've tried what I found here, messing about with different WHL files:

https://ehmatthes.github.io/pcc/chapter_15/README.html#installing-matplotlib-on-windows

Any ideas?

Thanks
 
Technology news on Phys.org
Are you using pip or anaconda?

It looks like you have a numbers.py file somewhere in your python search path aka PYTHONPATH that is being processed over the correct one needed by numerictypes.py
 
pip
 
How do I fix that?
 
Look through your code to see if you have a file you named numbers.py
and change its name.
 
  • Informative
  • Like
Likes Borg and PeroK
Aha, that was the test program that was printing the speed of light and the number 1729.

It's gone and that seems to have fixed it. Thanks a million!
 
Great, I’m glad that was easy to find. We don’t use pip for our projects instead we use anaconda which comes loaded with a lot of modules all in one tar because works better in an airgapped environment with no internet access.
 
Back
Top