“Command errored out with exit status 1” means a package’s build step crashed. Newer pip calls it error: subprocess-exited-with-error. The real cause is in the output block above that line; read it, then try:
python -m pip install --upgrade pip setuptools wheel
python -m pip install --only-binary :all: <package>
I ran everything below on October 12, 2026 in scratch venvs on Python 3.12.5 and 3.14.8, using a tiny local package, invoice_tool, whose setup.py needs Cython.
What does command errored out with exit status 1 mean in pip?
Exit status 1 means a child process failed. Older pip printed ERROR: Command errored out with exit status 1; current pip prints a framed subprocess-exited-with-error block instead. Here’s my package with pip 26.2.1 (internal frames trimmed to ...):
from setuptools import setup
from Cython.Build import cythonize # Cython is needed just to build this package
setup(
name="invoice-tool",
version="1.0.0",
ext_modules=cythonize("totals.pyx"),
)
Output:
Processing .\invoice_tool
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'error'
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [21 lines of output]
Traceback (most recent call last):
...
File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'Cython'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build 'file:///C:/pyguides/exitstatus1/invoice_tool' when getting requirements to build wheel

ModuleNotFoundError: No module named 'Cython'.Not sure which interpreter owns the pip you ran? Running multiple Python versions side by side shows how to call each one.
How do I find the real error in pip’s output?
Skip the bottom summary and read the last line before [end of output]. The step name tells you where it broke:
| Step that failed | Final error line | Usual cause |
|---|---|---|
| Getting requirements to build wheel | subprocess-exited-with-error | setup.py crashed, often a missing import |
| Preparing metadata | metadata-generation-failed | No wheel for your Python, so pip tried a source build |
| Building wheel | failed-wheel-build-for-install | No C/C++ compiler or missing system library |
A missing module at import time is a different problem, covered in fixing ModuleNotFoundError after pip install.
Upgrade pip, setuptools and wheel in your virtual environment
Old build tools are a common cause, so upgrade them inside your venv:
sv\Scripts\python -m pip --version
sv\Scripts\python -m pip install -q --upgrade pip setuptools wheel
sv\Scripts\python -m pip --version

pip --version changes from 24.2 to 26.2.1.I ran the failing install in that upgraded venv, so the upgrade alone didn’t fix the Cython error. It’s still the first step in guides like installing Matplotlib in Python.
Fix missing build dependencies and Microsoft Visual C++ 14.0 errors
pip builds in an isolated environment holding only what the package declares. Install Cython yourself and pass --no-build-isolation; pip’s docs say that needs the build dependencies preinstalled:
sv\Scripts\python -m pip install -q cython
sv\Scripts\python -m pip install --no-build-isolation .\invoice_tool

Microsoft Visual C++ 14.0 or greater is required.That’s progress. On Windows, install Microsoft C++ Build Tools with the “Desktop development with C++” workload, then reopen the terminal so it sees the new environment variables.
Why is pip building from source? Check wheels for your Python version
pip normally downloads prebuilt wheels. Trouble starts when a pinned version has no wheel for your Python, like numpy 1.26.4 on Python 3.14:

metadata-generation-failed.--only-binary :all: refuses source builds, so it shows which versions actually have wheels:
py314\Scripts\python -m pip install --dry-run --only-binary :all: numpy==1.26.4
py314\Scripts\python -m pip install --dry-run --only-binary :all: numpy
Output:
C:\pyguides\exitstatus1>py314\Scripts\python -m pip install --dry-run --only-binary :all: numpy==1.26.4
ERROR: Ignored the following yanked versions: 2.4.0
ERROR: Could not find a version that satisfies the requirement numpy==1.26.4 (from versions: 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.4.0rc1, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.5.0rc1, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.5.4)
ERROR: No matching distribution found for numpy==1.26.4
C:\pyguides\exitstatus1>py314\Scripts\python -m pip install --dry-run --only-binary :all: numpy
Collecting numpy
Using cached numpy-2.5.4-cp314-cp314-win_amd64.whl.metadata (6.6 kB)
Would install numpy-2.5.4
The fix is to move to numpy 2.5.4 or keep the old pin on an older Python; installing a specific package version with pip shows how.
A few more troubleshooting reads from the site:
- Fix UnboundLocalError in Python
- Is Python a compiled language?
- Best Python libraries for data science
- PyCharm vs VS Code for Python
Frequently asked questions
What does command errored out with exit status 1 mean?
A build step pip started, like setup.py or a compiler, failed.
Is subprocess-exited-with-error the same error?
Yes. It’s how current pip reports a failed build subprocess.
Does upgrading pip fix exit status 1?
Sometimes, but a missing compiler or build dependency needs its own fix.
How do I fix Microsoft Visual C++ 14.0 or greater is required?
Install Microsoft C++ Build Tools, or pick a version that ships a wheel.
What does metadata-generation-failed mean?
pip couldn’t prepare a source package, usually because no wheel matches your Python.
Where are pip’s install options documented?
See the pip install reference for --only-binary and --no-build-isolation.

Bijay Kumar is a 13-time Microsoft MVP with more than 18 years in software development, and the founder of Python Guides and TSinfo Technologies. He started out building .NET and SharePoint solutions at HP, TCS and KPIT before moving into Python, machine learning and AI, and he also builds web apps with TypeScript and React. He writes the tutorials here himself, and every example is run before publishing so you see the real output. More about Bijay · Microsoft MVP profile · LinkedIn