pip install tensorflow: No matching distribution found (tested)
ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none) means no tensorflow wheel matches your interpreter. tensorflow 2.21.0 ships Linux x86_64 wheels for Python 3.10-3.13 only; on 3.14+ (or 32-bit Python) pip finds nothing. Create the environment with Python 3.13.
1. Reproduce
b1.sh asks pip to resolve tensorflow in the official python:3-slim Docker image, which currently ships Python 3.15:
python --version
pip install --dry-run --no-deps tensorflow 2>&1 | grep -v '^\[notice\]'
echo "pip exit status: ${PIPESTATUS[0]}"
Python 3.15.1
ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)
ERROR: No matching distribution found for tensorflow
pip exit status: 1
(from versions: none) means pip found zero files it is allowed to install. The package exists on PyPI; none of its files match your interpreter.
2. Why: no wheel for your Python version
tensorflow ships only binary wheels, built per Python version. b2.py lists them from the PyPI JSON API:
# Which Python versions does the latest tensorflow ship Linux x86_64 wheels for?
import json, urllib.request
d = json.load(urllib.request.urlopen("https://pypi.org/pypi/tensorflow/json"))
ver = d["info"]["version"]
tags = sorted({f["filename"].split("-")[2] for f in d["urls"] if "manylinux" in f["filename"] and "x86_64" in f["filename"]})
print("tensorflow", ver, "requires_python:", d["info"]["requires_python"])
print("cp tags with linux x86_64 wheels:", tags)
tensorflow 2.21.0 requires_python: >=3.10
cp tags with linux x86_64 wheels: ['cp310', 'cp311', 'cp312', 'cp313']
Note that requires_python says only >=3.10, so the metadata does not exclude 3.14 or 3.15; there are simply no cp314/cp315 wheels and no source distribution to fall back on. The same message appears for other mismatches: a 32-bit Python, Python older than 3.10, or a platform with no wheel at all.
3. Fix: use a supported Python (3.10-3.13)
# Fix: create the environment with a Python that has wheels (3.10-3.13)
uv venv -q -p 3.13 tfenv
tfenv/bin/python --version
uv pip install -p tfenv/bin/python --dry-run tensorflow 2>&1 | grep -E 'Would install|tensorflow=='
Python 3.13.5
Would install 32 packages
+ tensorflow==2.21.0
Same machine, same index: with a 3.13 environment the resolver picks tensorflow 2.21.0. Without uv, install Python 3.13 (python.org, pyenv, or FROM python:3.13-slim in Docker) and create the venv with it: python3.13 -m venv .venv. Check what you are actually running with python -c "import sys, struct; print(sys.version, struct.calcsize('P')*8, 'bit')"; it must print a supported version and 64 bit.
4. Don't install tensorflow-gpu
tensorflow-gpu is a retired package name, and it fails differently:
# tensorflow-gpu is a dead package name: its last sdist cannot even build metadata
python -m pip install --dry-run tensorflow-gpu 2>&1 | grep -E '^(Collecting| error|ERROR)|InvalidRequirement'
echo "pip exit status: ${PIPESTATUS[0]}"
Collecting tensorflow-gpu
error: subprocess-exited-with-error
raise InvalidRequirement(str(e)) from e
packaging.requirements.InvalidRequirement: Expected semicolon (after name with no version specifier) or end
ERROR: Failed to build 'tensorflow-gpu' when getting requirements to build wheel
pip exit status: 1
(Python 3.13.5, pip 26.2.2.) Install plain tensorflow instead; on Linux, GPU support comes from the tensorflow[and-cuda] extra.
Related: pip install torch: no matching distribution found, pip subprocess-exited-with-error exit code 1, pip install failed, pip error: externally-managed-environment.
Frequently asked questions
Why does pip say no matching distribution found for tensorflow?
There is no tensorflow wheel for your Python version or platform. tensorflow 2.21.0 has Linux x86_64 wheels for CPython 3.10-3.13 only, and no source distribution.
Does tensorflow support Python 3.14?
Not as of tensorflow 2.21.0: there are no cp314 wheels, so pip install tensorflow on 3.14 or 3.15 fails with "from versions: none".
Should I pip install tensorflow-gpu?
No. tensorflow-gpu is retired and fails to build. Install tensorflow (on Linux, tensorflow[and-cuda] for GPU).
Written with AI assistance. Measured on 2026-10-23/24 with pip in python:3-slim (Python 3.15.1), uv with Python 3.13.5, and the live PyPI JSON API on Linux x86_64. The scripts ran verbatim and the output was pasted unedited. PlainTables is our extension; tensorflow and pip are free.