Matplotlib not recognized as a module when importing in Python - python

I've been attempting to install Matplotlib for a graphing project in Python. In accordance with recommendation from the Matplotlib website, I installed Anaconda as a pre-packaged python distributor. Anaconda seems to have installed correctly.
To install matplotlib, I typed in the command line:
pip install matplotlib
Which brings up multiple messages stating: "Requirement already satisfied."
When in my python script I typed:
import matplotlib.pyplot as plt
I received an error message stating:
ImportError: No module named matplotlib.pyplot
I'm using an old Windows XP operating system.
I've looked everywhere for help, and have tried installing matplotlib numerous times via the command line! Any help would be greatly appreciated...
Thank you!!

Make sure your version of pip corresponds to your version of python. One way to do this is the following:
python -m pip install matplotlib
The -m for module means that it will look in the site-packages for that python for the pip module.
You can also do:
>>> import sys
>>> print("\n".join(sys.path))
to list the path as understood by python, then check whether matplotlib is indeed on one of the listed paths (usually site-packages).
To find the locations of pip and python use the following on the Windows console:
where python
where pip
From the path you should be able to determine whether pip and python are from the same package. If not, uninstall one of the python installations, or at least remove it from the PATH variable.

Related

ImportError: No module named matplotlib.pyplot Python [duplicate]

I am currently practicing matplotlib. This is the first example I practice.
#!/usr/bin/python
import matplotlib.pyplot as plt
radius = [1.0, 2.0, 3.0, 4.0]
area = [3.14159, 12.56636, 28.27431, 50.26544]
plt.plot(radius, area)
plt.show()
When I run this script with python ./plot_test.py, it shows plot correctly. However, I run it by itself, ./plot_test.py, it throws the followings:
Traceback (most recent call last):
File "./plot_test.py", line 3, in <module>
import matplotlib.pyplot as plt
ImportError: No module named matplotlib.pyplot
Does python look for matplotlib in different locations?
The environment is:
Mac OS X 10.8.4 64bit
built-in python 2.7
numpy, scipy, matplotlib is installed with:
sudo port install py27-numpy py27-scipy py27-matplotlib \
py27-ipython +notebook py27-pandas py27-sympy py27-nose
pip will make your life easy!
Step 1: Install pip - Check if you have pip already simply by writing pip in the python console. If you don't have pip, get a python script called get-pip.py , via here: https://pip.pypa.io/en/latest/installing.html or directly here: https://bootstrap.pypa.io/get-pip.py (You may have to use Save As ..)
Step 2: Take note of where the file got saved and cd the directory from command prompt. Run the get-pip.py script to install pip.
You can write in cmd this line within quotes: "python .\get-pip.py"
Step 3: Now in cmd type: pip install matplotlib
And you should be through.
You have two pythons installed on your machine, one is the standard python that comes with Mac OSX and the second is the one you installed with ports (this is the one that has matplotlib installed in its library, the one that comes with macosx does not).
/usr/bin/python
Is the standard mac python and since it doesn't have matplotlib you should always start your script with the one installed with ports.
If python your_script.py works then change the #! to:
#!/usr/bin/env python
Or put the full path to the python interpreter that has the matplotlib installed in its library.
If you are using Python 2, just run
sudo apt-get install python-matplotlib
The best way to get matplotlib is :
pip install matplotlib
cause the previous way may give you a old version of matplotlib
This worked for me, inspired by Sheetal Kaul
pip uninstall matplotlib
python3 -m pip install matplotlib
I knew it installed in the wrong place when this worked:
python2.7
import matplotlib
use pip3 install matplotlib to install matlplot lib.
By default, pip will install those package for 2.7 as it the native one.
using pip3 makes it specific for python 3, and make sure you have only one version of python 3
First check the version of Python
For python2:
sudo apt-get install python-matplotlib
For python3:
sudo apt-get install python3-matplotlib
If you mismatch the Matplotlib installation and the Python version you will get the no-module-error because no module for that version exits.
If you using Anaconda3
Just put
conda install -c conda-forge matplotlib
You can install the matplotlib package in python 3 by doing this
python3 -m pip install matplotlib --user
It's working for me.
If you have pip installed and Python configured to the path variables, Just run this command in the terminal.
pip install matplotlib
So I used python3 -m pip install matplotlib then import matplotlib.pyplot as plt and it worked.
I had a similar problem, using pip3 and all these things worked for installing matplotlib but not pyplot. This solved it for me:
import matplotlib as plt
from matplotlib import pyplot as pllt
I had a similar issue that I resolved and here is my issue:
I set everything up on python3 but I was using python to call my file for example:
I was typing "python mnist.py" ...since I have everything on python3 it was thinking I was trying to use python 2.7
The correction:
"python3 mnist.py" - the 3 made all the difference
I'm by no means an expert in python or pip, but there is definitely a difference between pip and pip3 (pip is tied to python 2.7) (pip3 is tied to python 3.6)
so when installing for 2.7 do: pip install
when installing for 3.6 do: pip3 install
and when running your code for 2.7 do: python
when running your code for 3.6 do: python3
I hope this helps someone!
I bashed my head on this for hours until I thought about checking my .bash_profile. I didn't have a path listed for python3 so I added the following code:
# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH
And then re-installed matplotlib with sudo pip3 install matplotlib. All is working beautifully now.
The file permissions on my virtual environment directory and my project directory were not correct and, thus, would not allow me to install the proper packages. I upadated them by running:
sudo chown user:user -R [project folder]
sudo chown user:user -R [environment folder]
In the above your should use your own usernames in place of "user". The -R recurses through all subfolders and files.
Working on the django project and faced same problem,
This is what I did.
Check if you have matplotlib already simply by writing pip show matplotlib in the python terminal.
If dont, run the command pip install matplotlib.(make sure you have pip downloaded)
Run the command pip show matplotlib again.
If the library is successfully downloaded, you can run your project (py manage.py runserver)
If you are in a venv, don't install these libs within the venv.
Installing them from outside helped me.
For me, with PyCharm and Python 3.8 on WIN10 environment, the solution was inside the IDE of PyCharm itself.
From the IDE and Project Setting (the gear on the top right corner), I've chosen Settings -->Project:Python-->Python Interpreter and you can see all the packages installed (and matplotlib wasn't present in the Package list).
Click on the + icon in the upper left corner for Package installation, and next will be opening a new window with the available packages for PyCharm. In the find box was sufficient to type matplotlib, select it and click on Install Package.
Here a screen-shot of PyCharm environment (as requested on 21/08/2021) :
If you experienced this error ModuleNotFoundError: No module named 'matplotlib' while using venv and running pytest like me, you can check by comparing the path type pytest shows and the path type python shows. In my case pytest wasn't under venv/bin directory like python, I installed pytest by pip and reactivated venv. See https://stackoverflow.com/a/54597424/3622415
I have installed matplotlib using both pip and conda but experienced this error ModuleNotFoundError: No module named 'matplotlib' .
I fix by following.
Because It might have an old version of Jupyter notebook, so i try this command to install it in the current kernel.
import sys
!{sys.executable} -m pip install seaborn
In the New Jupyter version (2019) can be installed simply as:
%pip install matplotlib
I solved by conda. Once installed miniconda or anaconda, type
conda install matplotlib
then, when prompted, type
y
in sublime text you can set
"cmd": ["python3", "-u", "$file"]
in tools > buildsystem > new build system
it worked for me

Matplotlib won't work in python even though i pip installed it

I'm trying to use matplotlib to do some plotting.
i wrote:
import matplotlib as mpl
import matplotlib.pyplot as plt
When I try to run the program I get:
import matplotlib as mpl
ModuleNotFoundError: No module named 'matplotlib'
This shouldn't be happening as I've pip installed matplotlib to the latest version (3.5.1) and matplotlib shows up correctly when i write "pip list" in the terminal.
Why doesn't matplotlib work?
Looks like you messed up your Python installations. Maybe pip installs something in one Python, but python calls another version, which doesn't have the libraries you want.
To get sure you're installing and running with the same Python, replace python -m pip with python[version] -m pip, and python my_file.py with python[version] my_file.py. For example, to use Python 3.9, use python3.9 instead of python. And so on.
With this, you get sure to install and run things with the same Python. Also, it's good to try virtual environments, instead of fighting with global installations.

Why do I receive a "no module named scipy" error even after I have installed the module via pip?

I am using Python 3.9 on Windows 10 which I downloaded directly from the Microsoft Store.
I tried running a script in PowerShell: Bash *.sh
This script is supposed to tell my computer to execute a .py script which uses scipy.io and many other modules.
Then I received this error:
ModuleNotFoundError: No module named 'scipy'
My strategy was to make sure pip was up to date, then use it to install the desired packages, then run some commands to see if the packages were installed.
I ran this command to update pip:
python3 -m pip install --upgrade pip
I ran this command to get some modules:
python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
I also tried this command just in case:
pip install scipy
and got the result:
Requirement already satisfied ...
I ran the command pip list to make sure scipy was in the list (and it was there).
Then I ran the command python and my prompt changed to ">>>" and entered import scipy and did not receive any errors.
I am very confused as to how I have scipy installed yet have my script tell me it isn't there. Please help!
From what you have posted it looks like you have more than one python environment path in your system, because of which when you are installing these libraries they are installed at certain location while when you run the bash script it is using some other python location.
Try using these commands in both your terminal (cmd in windows) as well as in you bash script:
import sys
print(sys.path)
This will give you the python environment path (location where your python libraries are present), then compare both the path you get from your terminal as well as bash. Add the path you got from the terminal to your global environment in order to make sure the same python version is used everywhere.
You can also refer to this: Python modules not found over terminal but on python shell, Linux
I had the same issue. You might have multiple versions of python and you only installed scipy on the one you are not using
OR
you are using an IDE which has the option to use packages you install that are not by default in python. Pycharm has that. When you make a new project, it has a tick option saying "Inherit global site-packages" which means it will use additional packages you have installed any.

Had Matplotlib on Sublime Text, Now It's Gone

I'm completely new at using Sublime Text. But, I was able to import and even use Matplotlib to create plots.
Now, I'm trying to run the same script I had before that worked perfectly, but it doesn't run anymore.
I get the message:
import matplotlib.pyplot as plt
ModuleNotFoundError: No module named 'matplotlib'
Does anyone know what could be wrong?
Thanks.
Try the following (I'm doing this on VM with MacOS and SublimeText 3):
Press Cmd+Shift+P
Type in the field Package Control: Install Package. Press Enter and search for Matplotlib
On Ubuntu 18.04 (also VM):
Open the terminal
Type python3 --version to check if Python 3 is installed
If the above command returns the currently installed 3rd version, type sudo apt install python3-pip
If you are not sure you're lucky after the installation type pip -V to check if pip is actually installed
If the above command gives you a good output, then type pip install matplotlib and wait while matplotlib is installed
As last step type pip list to see the list of all installed packages. One of the lines will be for Matplotlib

Why does python give me an error when i am importing modules?

I have installed today Python 3.8.1 (i had 3.7.* months ago, but don´t use it anymore) and I tried to write new code, but I have problems to import modules like matplotlib and so on. It will always mark the module name yellow and says:
unresolved import ‘matplotlib' Python(unresolved-import)
I checked if python is in the PATH included, I installed/reinstalled the matplotlib module but nothing works. I am using Win 10 64Bit, Python 3.8.1 64Bit and VS Code.
Best way to do that is in a virtualenv, have a look at this.
python3.8 -m venv env-name # this will create a folder with executables of python, pip.
To activate it you can run
source env-name/bin/activate # Linux/Mac
env\Scripts\activate.bat # For windows
pip install matplotlib # Matplotlib will be installed for the activated env only
I solved the problem by uninstalling python and deleting all existing files from python and installing a new clean version of the newest version of python. After this i used pip to install all required modules to code.
Thanks for the help!
You may also use the following command in cmd in admin mode:
python -m pip install matplotlib
if you are running it on the command prompt after installing the python.

Categories