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 matplotlibIf you get something like a permission error, Run the following command:
sudo pip3 install matplotlibAnaconda:
conda install -c conda-forge matplotlibAfter 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.6If 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.6If you are using other Linux distributions:
sudo dnf install python3Installing 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:$PATHNow, let's install Python 3:
brew install pythonAfter 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 -yInstall python3-venv:
root@py:~# apt-get install -y python3-venvInstall virtualenv using pip:
pip3 install virtualenv
Create Virtual Environment:
root@py:~# python3 -m venv py_venvpy_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 virtualenvCreate the virtual environment:
cd my-project
virtualenv --python C:\Path\To\Python\python.exe py_envActivate it:
.\py_env\Scripts\activateDone!
Mac
Install virtualenv using pip
sudo pip install virtualenvIf for any error, run the following command:
sudo -H pip install virtualenvCreate py_env virtual environment :
virtualenv py_envActivate virtualenv:
source py_env/bin/activate
After activating the virtual environment, run the following command (pip3) to install matplotlib:
pip3 install matplotlibThis 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 matplotlibAnd execute our code with Python 3:
# 👇️ Execute The code with Python 3
python3 my_code.pySo, 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 </>