Last updated: Apr 8, 2024
Reading timeยท4 min
The Python "ModuleNotFoundError: No module named 'pip'" occurs when pip
is
not installed in our Python environment.
To solve the error, install the module by running the
python -m ensurepip --upgrade
command on Linux or MacOS or
py -m ensurepip --upgrade
on Windows.
ensurepip
Open your terminal and run the following command to install pip.
# ๐๏ธ On Linux or macOS python -m ensurepip --upgrade # ๐๏ธ Using python 3 python3 -m ensurepip --upgrade # ๐๏ธ On Windows py -m ensurepip --upgrade
The ensurepip
package enables us to bootstrap the pip
installer into an
existing Python installation or virtual environment.
If the PATH for pip
is not set up on your machine, replace pip
with
python -m pip
:
# ๐๏ธ Make sure to use your version of Python, e.g. 3.10 python -m pip install requests python3 -m pip install requests # ๐๏ธ On Windows py -m pip install requests
Alternatively, you can use the official get-pip script to install pip.
Download the script from https://bootstrap.pypa.io/get-pip.py by:
Open your terminal in the location where the get-pip.py
file is downloaded and
run the following command.
# ๐๏ธ On Linux or macOS python get-pip.py # ๐๏ธ Using python 3 python3 get-pip.py # ๐๏ธ On Windows py get-pip.py
The get-pip.py
script uses bootstrapping logic to install pip
.
You can also download the script using curl
.
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py --force-reinstall python3 get-pip.py --force-reinstall py get-pip.py --force-reinstall
The --force-reinstall option
forces pip
to reinstall the package.
If you got an error that "'curl' is not recognized as an internal or external command", click on the following article.
If none of the suggestions helped, try to install pip
with a command that's
specific to your operating system.
# ๐๏ธ On Debian / Ubuntu sudo apt update sudo apt install python3-venv python3-pip # ---------------------------------------------------- # ๐๏ธ On macOS brew install python # ---------------------------------------------------- # ๐๏ธ On Fedora sudo dnf update sudo dnf install python3-pip python3-wheel # ---------------------------------------------------- # ๐๏ธ on CentOS / RHEL sudo yum update sudo yum install python3 python3-pip # ---------------------------------------------------- # ๐๏ธ on Arch Linux sudo pacman -S python-pip
Try upgrading pip
by running:
# ๐๏ธ on macOS or Linux python -m pip install --upgrade pip # ๐๏ธ If you get a permissions error python -m pip install --user --upgrade pip # ๐๏ธ For Python 3 python3 -m pip install --upgrade pip # ๐๏ธ If you get a permissions error python3 -m pip install --user --upgrade pip # ๐๏ธ on Windows py -m pip install --upgrade pip # ๐๏ธ If you get a permissions error py -m pip install --user --upgrade pip
If the error persists, get your Python version and make sure you are installing the package using the correct Python version.
python --version python3 --version
For example, my Python version is 3.10.4
, so I would install the requests
package with pip3.10 install requests
.
pip3.10 install requests # ๐๏ธ If you get a permissions error pip3.10 install requests --user sudo pip3.10 install requests
Notice that the version number corresponds to the version of Python I'm using.
If you have multiple versions of Python, make sure the correct Python interpreter is selected in your IDE.
If that didn't help and you're using a virtual environment, try recreating it.
# ๐๏ธ optionally store installed packages in a file pip freeze > requirements.txt # ๐๏ธ deactivate deactivate # ๐๏ธ Remove the old virtual environment folder: macOS and Linux rm -rf venv # ๐๏ธ Remove the old virtual environment folder: Windows rd /s /q "venv" # ๐๏ธ initialize a new virtual environment python -m venv venv # ๐๏ธ Activate on Unix or MacOS source venv/bin/activate # ๐๏ธ Activate on Windows (cmd.exe) venv\Scripts\activate.bat # ๐๏ธ Activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # ๐๏ธ upgrade your pip version pip install --upgrade pip # ๐๏ธ Install the modules in your requirements.txt file pip install -r requirements.txt
If the python -m venv venv
command doesn't work, try the following 2 commands:
python3 -m venv venv
py -m venv venv
Your virtual environment will use the version of Python that was used to create it.
This should work if your previous virtual environment didn't have pip
installed for some reason.
If none of the suggestions helped on a Windows machine, try installing pip
from the directory where the pip.exe
file is located.
First, locate Python by running the following command using cmd
:
# ๐๏ธ for Windows where python # ๐๏ธ or a specific version if you have multiple installed where python3
The path in the example is similar to the following.
C:\Users\MyUser\AppData\Local\Programs\Python\Python310\python.exe
The path for you will likely be different, so make sure to use the one you got
from issuing the where Python
command.
There should be a Scripts
directory in your Python3XX
folder.
Now open the Scripts
folder and make sure it contains the pip.exe
file.
Open your command prompt in the Scripts
directory right next to the pip.exe
file and run the following command.
pip install pip py -m pip install --upgrade pip
If you get an error that "The term 'pip' is not recognized as the name of a cmdlet", click on the following article.
If the error persists, I would suggest watching a quick video on how to set Python and pip in your PATH environment variable.
This one is for setting Python and pip in the PATH on Windows
:
This one is for setting Python and pip in the PATH on MacOS
and Linux
:
You can learn more about the related topics by checking out the following tutorials: