Updated: 11 October 2026 · Applies to: Python 3.15 and 3.14 on Windows 10 and 11 (Python install manager), pip 26.2.1, PowerShell 7.4
pip comes with Python, so on Windows you rarely install it separately. When Windows answers 'pip' is not recognized as an internal or external command, operable program or batch file., Python is usually installed, but the folder that holds pip.exe is not in your PATH. The quickest fix is to run pip through Python: py -m pip install requests (or python -m pip). To make the plain pip command work too, run py install --refresh and add the folder it reports to PATH, as shown in Fix 2.
The error in Command Prompt and PowerShell
Command Prompt shows the message above. PowerShell 7 says (we ran PowerShell 7.4.2 in a Linux lab container, with the same wording):
pip: The term 'pip' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Both mean the same: Windows searched every folder listed in PATH and found no pip program. Nothing is broken inside Python.
Fix 1: run pip through Python
py -m pip --version py -m pip install requests py -m pip install --upgrade pip
This works straight away, and it also tells you which Python the packages go to. Our lab printed pip 26.2.1 from ... (python 3.14). With several versions installed, choose one: py -V:3.14 -m pip install requests. Python’s documentation recommends python -m pip whenever the pip command is not found.
pyis not recognized either: Python is not installed, or not through the install manager. Install it as shown below.pythonopens the Microsoft Store: according to Python’s documentation, click Start, open Manage app execution aliases and check that the Python (default) aliases are on (turn them off and on again to refresh them). YourPATHmust also still contain%UserProfile%\AppData\Local\Microsoft\WindowsApps.
Fix 2: make the pip command work (Python install manager)
- Run
py install --refresh. According to Python’s documentation, this recreates the global commands such aspip.exe, and its output tells you if the global shortcuts folder is not onPATH. That folder is%LocalAppData%\Python\binunless an administrator changed it. - Click Start, search for Edit environment variables for your account and add that folder to the
Pathentry of your user variables. - Close every terminal and open a new one (an open window keeps its old
PATH), then runpip --version.
The same applies to commands that packages bring along, such as black or flask: the install manager creates their shortcuts only when you run py install --refresh after installing the package.
Fix 3: Python from the old full installer
According to Python’s documentation, the full installer is deprecated since Python 3.14 and will not be produced for 3.16 or later, and its PATH options add both the install folder and its Scripts folder, which is where pip.exe lives. If you installed without them, ask Python where the folder is and add it to Path as in Fix 2:
py -c "import sysconfig; print(sysconfig.get_path('scripts'))"
On Windows this prints the ...\Scripts folder of that Python (our Linux lab printed /usr/local/bin, which held pip, pip3 and pip3.14). pip warns about the same problem after a --user install:
WARNING: The scripts pip, pip3 and pip3.14 are installed in '/opt/userbase/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
pip is missing completely
py -m ensurepip --upgrade
ensurepip installs the pip copy that ships with Python. If pip is already there, it answers Requirement already satisfied: pip.
Install Python and pip on Windows
- Install the Python install manager from python.org/downloads or the Microsoft Store, or with WinGet:
winget install 9NQ7512CXL7T -e --accept-package-agreements --disable-interactivity
- Open a new terminal and install a Python version, for example
py install 3.15(Python 3.15.0 is the latest release at the time of writing). If no Python is installed yet, the firstpythonorpycommand installs the latest release automatically. - Check it:
py listandpy -m pip --version.
A brand-new Python version can be missing ready-made packages for a while (see the next section). If a package you need does not install on 3.15 yet, install 3.14 next to it with py install 3.14 and use py -V:3.14 -m pip.
pip install not working: other errors
SyntaxError: invalid syntax: you typed the command at the Python prompt (>>>), and Python marksinstallwith^^^^^^^. pip is a terminal command, not Python code: typeexit()and run it in Command Prompt or PowerShell.No matching distribution found: check the spelling first. The other common cause is a package with no build for your Python version. On Python 3.14, an old NumPy release failed like this (output from our Linux lab, shortened):ERROR: Could not find a version that satisfies the requirement numpy==1.26.4 (from versions: 2.3.2, 2.3.3, ...) ERROR: No matching distribution found for numpy==1.26.4
Install a version from the list, or use an older Python withpy -V:.- Permission errors: install into a virtual environment (below), or add
--user. - On a Linux server, the messages differ:
bash: pip: command not foundorerror: externally-managed-environment(both from Ubuntu 26.04). See install pip on Debian and fix externally-managed-environment and update Python and pip on Linux.
Use a virtual environment per project
py -m venv .venv .venv\Scripts\activate pip install -r requirements.txt
Inside an active environment, plain pip works, because activation puts the environment’s Scripts folder on PATH, and packages go into the project folder instead of your whole system. In PowerShell the script is .venv\Scripts\Activate.ps1; if PowerShell refuses to run it, Python’s documentation gives Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser. On Ubuntu, see Python virtual environments on Ubuntu.
Official documentation: Python: using Python on Windows and venv.
Ucartz services for this topic
- Hire an expert: engineers per 15 minutes, per hour or per month, with no contract.
- Server management: on-demand administration, hardening, migrations and monitoring.
