370

I installed the latest version of Python (3.6.4 64-bit) and the latest version of PyCharm (2017.3.3 64-bit). Then I installed some modules in PyCharm (Numpy, Pandas, etc), but when I tried installing Tensorflow it didn't install, and I got the error message:

Could not find a version that satisfies the requirement TensorFlow (from versions: ) No matching distribution found for TensorFlow.

Then I tried installing TensorFlow from the command prompt and I got the same error message. I did however successfully install tflearn.

I also installed Python 2.7, but I got the same error message again. I googled the error and tried some of the things which were suggested to other people, but nothing worked (this included installing Flask).

How can I install Tensorflow? Thanks.

Martin W
  • 4,548
  • 3
  • 16
  • 27

25 Answers25

253

The latest requirements for running TensorFlow are documented in the installation documentation.

  • TensorFlow only supports 64-bit Python

  • TensorFlow only supports certain versions of Python (for example, Python 3.6 is not supported)

So, if you're using an out-of-range version of Python (older or newer) or a 32-bit version, then you'll need to use a different version.

rgov
  • 3,516
  • 1
  • 31
  • 51
David Prun
  • 8,203
  • 16
  • 60
  • 86
  • 5
    Could you please provide some references of where you have retrieved this information / date ? – Marco D.G. Aug 28 '18 at 15:39
  • 4
    on the official site, they still refer both 3.5.x and 3.6.x https://www.tensorflow.org/install/install_windows – Jirka Aug 28 '18 at 16:30
  • 59
    v3.6.8 raises the same exception – AER Feb 11 '19 at 05:21
  • 6
    Python v3.6.8 does not raise the exception for me; v3.7 did – Pro Q Aug 19 '19 at 19:33
  • 2
    @AER, I had this problem as well. I was running py3.6.8 32 bit... but tensorflow only works with 64 bit – ColinMac Oct 16 '19 at 19:05
  • 2
    As of 2020-03-20 the same, but just for the next version: Python is at 3.8, but tensorflow does only supports 3.7 – debuglevel Mar 20 '20 at 22:13
  • Still true as of December 2020 -- downgrade to 3.8 and enjoy – AdrienW Dec 21 '20 at 14:31
  • 2
    Could you please add to your prominent answer that officially "TensorFlow 2 packages require a pip version >19.0", thus in many cases `python -m pip install --upgrade pip` is required (true both for Linux and Windows). For instance, after installing python3.8 on Ubuntu 18.04 LTS, my pip version was 9.0.1, which was the problem in my case. – Pedro Jan 28 '21 at 07:20
  • Adding to @Pedro 's comment: Even though the documentation says that pip >19.0 is required, on Windows, it worked for me only after upgrading to latest pip which is > 21.0 – Oren Yosifon Feb 06 '21 at 19:23
  • As of 2021-02-28: https://stackoverflow.com/a/66400534/3025289 –  Feb 28 '21 at 09:24
  • What version should I istall? –  Apr 16 '21 at 10:47
  • I have python 3.9 and tensorflow is working on it. – MohammadReza Hosseini Feb 19 '22 at 12:24
  • I have python 3.8, 64bit, and I got this same error. So, I don't think this "solution" should be given the credit for actually solving the problem. – James Cutler Mar 29 '22 at 14:35
109

I installed it successfully by pip install https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.8.0-py3-none-any.whl

Anil Sah
  • 1,502
  • 1
  • 9
  • 11
84

There are a few important rules to install Tensorflow:

  • You have to install Python x64. It doesn't work with x86/32b and it gives the same error as yours.

  • Python versions later than 3.8 and Python 3.8 requires TensorFlow 2.2 or later. Check for supported Python versions.

For example, for TensorFlow 2.9, you can install Python3.8.6-64bit and it works like a charm. Check the latest information on the website.

Moradnejad
  • 3,466
  • 2
  • 30
  • 52
  • 14
    You can check your architecture using `python -c "import sys; print(sys.version)"` or `python -c "import struct; print(struct.calcsize('P')*8)"` – Slate Jan 13 '20 at 09:36
  • 1
    I have Python 3.8.5, the 64-bit version, and I get the error when trying to install `tensorflow>=1.15,<1.16`. – nbro Oct 06 '20 at 12:45
  • 3
    @nbro Python 3.8 requires TensorFlow 2.2 or later – Moradnejad Oct 06 '20 at 17:21
  • @krenerd You should ask TensorFlow. They probably need to spend some time to make it compatible. – Moradnejad Feb 04 '21 at 10:32
46

if you are using anaconda, python 3.7 is installed by default, so you have to downgrade it to 3.6:

conda install python=3.6

then:

pip install tensorflow

it worked for me in Ubuntu.

Minions
  • 5,104
  • 5
  • 50
  • 91
  • 20
    This was my problem. Needed to rollback the python version. Took half a day to figure out. The internet is full of guides that say nothing about this. And Conda can't give a meaningful error message? How many man hours are getting wasted globally on this python package crap.,FFS. – Hashman Jan 13 '19 at 18:02
37

I am giving it for Windows

If you are using python-3

  1. Upgrade pip to the latest version using py -m pip install --upgrade pip
  2. Install package using py -m pip install <package-name>

If you are using python-2

  1. Upgrade pip to the latest version using py -2 -m pip install --upgrade pip
  2. Install package using py -2 -m pip install <package-name>

It worked for me

ramazan polat
  • 7,111
  • 1
  • 48
  • 76
Ankur Bhatia
  • 527
  • 3
  • 5
18

Tensorflow 2.2.0 supports Python3.8

First, make sure to install Python 3.8 64bit. For some reason, the official site defaults to 32bit. Verify this using python -VV (two capital V, not W). Then continue as usual:

python -m pip install --upgrade pip
python -m pip install wheel  # not necessary
python -m pip install tensorflow

As usual, make sure you have CUDA 10.1 and CuDNN installed.

Elazar
  • 20,415
  • 4
  • 46
  • 67
  • Are you sure this would install a _release candidate_ (in this case `2.2.0rc3`)? – sinoroc Apr 29 '20 at 10:31
  • Yes, I am sure, I just did it. `assert tensorflow.__version__ == '2.2.0-rc3'` passes. Why the downvote? – Elazar Apr 29 '20 at 10:42
  • I'm suprised. I get `2.1.0`. Is there maybe a `--pre` in a _pip_ configuration file somewhere? – sinoroc Apr 29 '20 at 10:51
  • I've performed a clean installation - no special configurations, nothing. Uninstall everything, install Python3.8.2. – Elazar Apr 29 '20 at 10:56
  • Does specifying the version explicitly work for you? – Elazar Apr 29 '20 at 11:01
  • I'm not trying to install tensorflow myself, I just want to point out (to other readers) that as far as I know _pip_ does not install _release candidates_ by default, unless the `--pre` option is used. I'm surprised that the _release candidate_ is getting installed in your case, maybe check the output of `path/to/pythonX.Y -m pip config list`. But maybe I missed something entirely. If it works for you, then all is good. – sinoroc Apr 29 '20 at 12:08
  • I see what you mean, but picking a release candidate when there's no stable version available for 3.8 seems logical. `pip config list` gives me nothing. I will suggest using `--pre` in the answer. – Elazar Apr 29 '20 at 13:04
  • 2
    Ah, that could explain it. If the only release compatible with the Python interpreter is a _release candidate_, then _pip_ might want to pick it anyway (I was testing with a different Python version `<3.8`). Still surprising to me. – sinoroc Apr 29 '20 at 13:16
  • 1
    Updated: no longer RC – Elazar May 11 '20 at 11:22
  • This worked for me. I used python3.7 and tensorflow==2.0.3 – Tazik_S Feb 10 '23 at 16:52
13

Tensorflow isn't available for python 3.8 (as of Dec 4th 2019) according to their documentation page. You will have to downgrade to python 3.7.

Martin W
  • 4,548
  • 3
  • 16
  • 27
mithunpaul
  • 3,268
  • 22
  • 19
13

I am using python 3.6.8, on ubunu 18.04, for me the solution was to just upgrade pip

pip install --upgrade pip
pip install tensorflow==2.1.0
Jop Knoppers
  • 676
  • 1
  • 10
  • 22
13

Apple Silicon (M1+ Chip)

If you are using a Mac with an M1 chip or higher, you need to install Tensorflow metal plugin for compatability with your architecture.

Simple installation instructions for Tensor Flow are found on Apple's website: https://developer.apple.com/metal/tensorflow-plugin

And since links tend to break in the future, here is an archive.

Albert Renshaw
  • 17,282
  • 18
  • 107
  • 195
10

Uninstalling Python and then reinstalling solved my issue and I was able to successfully install TensorFlow.

Martin W
  • 4,548
  • 3
  • 16
  • 27
9

So here's the message that I got on a M1 Pro while I was executing

python -m pip install tensorflow-macos

ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)
ERROR: No matching distribution found for tensorflow

I then re-installed python from the official source:

https://www.python.org/downloads/macos/

(Yes, as stupid as it seems.)

I then followed the Apple tutorial for Monterey:

https://developer.apple.com/metal/tensorflow-plugin/

Everything was solved by then.

SHANNAX
  • 322
  • 3
  • 5
8

Python version is not supported Uninstall python

https://www.python.org/downloads/release/python-362/

You should check and use the exact version in install page. https://www.tensorflow.org/install/install_windows

python 3.6.2 or python 3.5.2 solved this issue for me

ManU
  • 81
  • 1
  • 1
7

(as of Jan 1st, 2021)

Any over version 3.9.x there is no support for TensorFlow 2. If you are installing packages via pip with 3.9, you simply get a "package doesn't exist" message. After reverting to the latest 3.8.x. Thought I would drop this here, I will update when 3.9.x is working with Tensorflow 2.x

Gregg Harrington
  • 123
  • 1
  • 11
5

Looks like the problem is with Python 3.8. Use Python 3.7 instead. Steps I took to solve this.

  • Created a python 3.7 environment with conda
  • List item Installed rasa using pip install rasa within the environment.

Worked for me.

Rahul Sattar
  • 61
  • 1
  • 3
4

I had this problem on my macOS (with M1 Pro) even with the latest 64-bit Python and the latest pip installed. This is how I've solved it. Try to run:

pip install tensorflow-macos

If you will get the error ending like this (like I did)...

...
raise ReadTimeoutError(self._pool, None, "Read timed out.")
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

...then simply run:

pip install --default-timeout=100 tensorflow-macos
Przemek Baj
  • 426
  • 2
  • 5
  • 18
3

Running this before the tensorflow installation solved it for me:

pip install "pip>=19"

As the tensorflow's system requirements states:

pip 19.0 or later

EliadL
  • 6,230
  • 2
  • 26
  • 43
3

For version TensorFlow 2.2:

  1. Make sure you have python 3.8

try: python --version

or python3 --version

or py --version

  1. Upgrade the pip of the python which has version 3.8

try: python3 -m pip install --upgrade pip

or python -m pip install --upgrade pip

or py -m pip install --upgrade pip

  1. Install TensorFlow:

try: python3 -m pip install TensorFlow

or python -m pip install TensorFlow

or py -m pip install TensorFlow

  1. Make sure to run the file with the correct python:

try: python3 file.py

or python file.py

or py file.py

Trake Vital
  • 1,019
  • 10
  • 18
2

1.Go to https://www.tensorflow.org/install/pip website and look if the version you are using support the Tensorflow. some latest version does not support Tesnsorflow. until Tensorflow releases its latest version for that Python version.

  1. you must have 64 bit python installed

  2. have latest version of pip installed
    pip install --upgrade pip

mukesh yadav
  • 91
  • 1
  • 5
2

using pip install tensorflow --user did it for me

MoFoLuWaSo
  • 1,289
  • 1
  • 5
  • 6
0

Tensorflow seems to need special versions of tools and libs. Pip only takes care of python version.

To handle this in a professional way (means it save tremendos time for me and others) you have to set a special environment for each software like this.

An advanced tool for this is conda.

I installed Tensorflow with this commands:

sudo apt install python3

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1

sudo apt install python3-pip

sudo apt-get install curl

curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh > Miniconda3-latest-Linux-x86_64.sh

bash Miniconda3-latest-Linux-x86_64.sh

yes

source ~/.bashrc

  • installs its own phyton etc

nano .bashrc

  • maybe insert here your proxies etc.

conda create --name your_name python=3

conda activate your_name

conda install -c conda-forge tensorflow

  • check everything went well

python -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"

PS: some commands that may be helpful conda search tensorflow

https://www.tensorflow.org/install/pip

uses virtualenv. Conda is more capable. Miniconda ist sufficient; the full conda is not necessary

Bodo
  • 26
  • 4
0

use python version 3.6 or 3.7 but the important thing is you should install the python version of 64-bit.

Jasbin Karki
  • 574
  • 7
  • 15
0

In case you are using Docker, make sure you have

FROM python:x.y.z

instead of

FROM python:x.y.z-alpine.

DSchlingel
  • 15
  • 7
0

This issue also happens with other libraries such as matplotlib(which doesn't support Python > 3.9 for some functions) let's just use COLAB.

krenerd
  • 741
  • 4
  • 22
0

Slightly different issue for me but I will still post an answer here. tensorflow package is working, but not tflite-runtime.

pip install --extra-index-url https://google-coral.github.io/py-repo/ tflite-runtime==2.5.0
Michael Ribbons
  • 1,753
  • 1
  • 16
  • 26
-2

I solved the same problem with python 3.7 by installing one by one all the packages required

Here are the steps:

  1. Install the package
  2. See the error message:

    couldn't find a version that satisfies the requirement -- the name of the module required

  3. Install the module required. Very often, installation of the required module requires the installation of another module, and another module - a couple of the others and so on.

This way I installed more than 30 packages and it helped. Now I have tensorflow of the latest version in Python 3.7 and didn't have to downgrade the kernel.

RobC
  • 22,977
  • 20
  • 73
  • 80
Alex Ivanov
  • 657
  • 1
  • 8
  • 17