Last modified: Jan 10, 2023 By Alexander Williams
[Solved] modulenotfounderror: no module named 'matplotlib'
The Python "ModuleNotFoundError: No module named 'matplotlib'" error appears when:
- Not having the matplotlib module installed
- Installing and using different Python versions
- Using python <= 2
- Creating a virtual environment with Python 2
- Installing matplotlib globally
In this article, we'll see the possible solutions to solve this error. If you are ready, let's get started.
Solution 1: Installing the matplotlib module
About 90% of the "ModuleNotFoundError: No module named 'matplotlib'" error is because the matplotlib module is not installed. However, To solve the problem, we need to install the module.
Choose your preferred way to install matplotlib (PIP is recommended)
Pip:
# 👇️ Python 2
pip install matplotlib
PIp 3:
# 👇️ Python 3
pip3 install matplotlib
If you get something like a permission error, Run the following command:
sudo pip3 install matplotlib
Anaconda:
conda install -c conda-forge matplotlib
After installing the module packages, execute your code again. If the error has been fixed, congratulation. If not, then move to the next solution.
Solution 2: Ensure Using Python > 2
As you know, most python libraries don't support Python 2 anymore. And probably you use a new version of matplotlib that dropped using Python 2.
At this current date, Matplotlib 2.0. x supports Python versions 2.7 through 3.10. However, we recommended using Python 3.
If Python 3 is not installed on your device, Let's install it.
Installing Python 3 on Linux
If you are in Ubuntu 16.10 or newer, You can run these commands to install Python 3.
$ sudo apt-get update
$ sudo apt-get install python3.6
If you’re using another version of Ubuntu:
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.6
If you are using other Linux distributions:
sudo dnf install python3
Installing Python 3 on Windows:
To install Python 3 on Windows, follow these steps.
- Go to the Downloads for Windows section of the official Python website on your browser.
- Search for your desired version of Python. Python 3 release is version Python 3.10.7.
- Click a link to download the Windows x86-64 (64bit) or Windows x86 (32bit) .
- Run the program and follow the steps to install it.
Installing Python 3 on Mac:
Before installing Python 3, you must install GCC . GCC by downloading Xcode , the smaller Command Line Tools . You also need to install brew.
Here is the brew installation command:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Add the following line at the end of your ~/.profile file.
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
Use this If you have OS X 10.12 (Sierra) or older :
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
Now, let's install Python 3:
brew install python
After installing Python 3:
- Create a new virtual env using Python 3
- Install matplotlib using PIP3
- Execute your code
If you don't have virtualenv, You will find out how to install it in the next solution.
Solution 3:Instaling matplotlib In virtualenv
Another reason for "ModuleNotFoundError: No module named 'matplotlib'" is you install the matplotlib package globally without a Virtual Environment . However, Let's see how to set up a virtualenv with Python 3
Linux
Update all Linux packages:
root@Py:~# apt-get update -y
Install python3-venv:
root@py:~# apt-get install -y python3-venv
Install virtualenv using pip:
pip3 install virtualenv
Create Virtual Environment:
root@py:~# python3 -m venv py_venv
py_venv is the name of my virtual envormment. Now let's activate the Virtual Environment:
root@py:~# source py_venv/bin/activate
Congratulations, Our Virtual Environment is ready to install the module packages.
Windows
Install virtualenv using pip:
pip3 install virtualenv
Create the virtual environment:
cd my-project
virtualenv --python C:\Path\To\Python\python.exe py_env
Activate it:
.\py_env\Scripts\activate
Done!
Mac
Install virtualenv using pip
sudo pip install virtualenv
If for any error, run the following command:
sudo -H pip install virtualenv
Create py_env virtual environment :
virtualenv py_env
Activate virtualenv:
source py_env/bin/activate
After activating the virtual environment, run the following command (pip3) to install matplotlib:
pip3 install matplotlib
This command works with all systems (Linux, Windows, Mac)
Solution 4: Installing and executing with the same Python version
You probably got the error because you have installed the module and executed your code with different versions of python. For example:
We use pip ( Python 2 ) to install the matplotlib module and run the code with Python 3 .
# 👇️ Python 2
pip install matplotlib
And execute our code with Python 3:
# 👇️ Execute The code with Python 3
python3 my_code.py
So, If you install with pip , execute using Python 2 otherwise, if you install with pip3 , execute Python 3 .
Conclusion
In this article, we've learned about 4 solutions to solve "ModuleNotFoundError: No module named 'matplotlib'" . I Hope You have solved the error. For more info about ModuleNotFoundError , visit modulenotfounderror no module named in python .
Happy Codding </>