14

Recently, I upgraded to Anaconda3 2020.07 which uses python 3.8. In past versions of anaconda, tensorflow was installed successfully. Tensorflow failed to be installed successfully in this version.

I ran the command below;

conda install tensorflow-gpu

The error message that I received is shown below;

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - tensorflow-gpu -> python[version='3.5.*|3.6.*|3.7.*|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.5,<3.6.0a0|>=2.7,<2.8.0a0']

Your python: python=3.8

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.

The following specifications were found to be incompatible with your CUDA driver:

  - feature:/win-64::__cuda==11.0=0

Your installed CUDA driver is: 11.0

Is there a conda command with the right parameters to get tensorflow installed successfully?

guagay_wk
  • 26,337
  • 54
  • 186
  • 295

13 Answers13

10

UPDATE:

TF is now compatible with Python 3.8


Tensorflow is not compatible with Python 3.8. See https://www.tensorflow.org/install/pip

You need to downgrade your python version :

conda install python=3.7
Kh4zit
  • 2,629
  • 3
  • 13
  • 25
  • Can't do that for users of anaconda 2020.07 because python 3.8 is used by default. Downgrading will break anaconda. – guagay_wk Jul 28 '20 at 13:20
  • 1
    If you use a separate env (not base) you will not break anything. There is no workaround as far as I know. You need to downgrade your Python version. – Kh4zit Jul 28 '20 at 13:41
  • thanks. I think I'll wait until support for python 3.8 is ready. – guagay_wk Jul 28 '20 at 14:14
  • 1
    It's supported now for python 3.8 But still unable to make it work with tensorflow-gpu – Ashish Sep 25 '20 at 10:34
  • If you don't want to downgrade your Python version, then you can use pip (inside your conda env) to install the lastest tensorflow compatible with Python 3.8. `pip install tensorflow-gpu` – Ahmed Ktob Nov 13 '20 at 03:18
  • Anaconda 2020.07 now supports tensorflow v2.3. It can be easily installed by conda commands now. https://stackoverflow.com/questions/63111115/unable-to-install-tensorflow-using-conda-with-python-3-8/65333073#65333073 – guagay_wk Dec 19 '20 at 01:26
  • About Tensorflow and Python: System requirements Python 3.7–3.9 Python 3.9 support requires TensorFlow 2.5 or later. Python 3.8 support requires TensorFlow 2.2 or later. – Mello Nov 20 '21 at 19:19
5

Create an environment with python 3.7 and then activate it:

conda create -n p37env python=3.7
conda activate p37env

And install tensorflow. This worked for me, and found out the answer from the Anaconda user guide (under how to use a different python version: https://conda.io/projects/conda/en/latest/user-guide/getting-started.html#managing-python )

Peter T.
  • 61
  • 1
  • 2
3

From the requirement page:

Python 3.8 support requires TensorFlow 2.2 or later.

So there is a verison of Tensorflow compatible with python 3.8.

The problem is that TensorFlow 2.2.0 is not available through conda on Windows, this should be the reason why you get PackagesNotFoundError when running

conda install tensorflow=2.2

EDIT 15/03/21

Tensorflow 2.3.0 is compatible with Windows

Ale
  • 917
  • 9
  • 28
3

i think we have two options here

pip install tensorflow

or we can use another env of anaconda such as like this below

conda create -n tf tensorflow pydotplus jupyter

conda activate tf

solving tensorflow installation on anaconda python 3.8

2

Actually you can directly use pip inside anaconda prompt, after I tested it, I found the conda is capable with pypi, first run the anaconda prompt with administrator permission (in windows), then enter "conda update --all" to make sure all the packages are latest, finally enter "pip install tensorflow" to install (the new version of tensorflow already includes tensorflow-gpu).

Then using VS code to open an ipynb and run

import tensorflow as tf
tf.test.gpu_device_name()

everything looks good.

For more info please refer to Anaconda official docs: https://docs.anaconda.com/anaconda/ .

William
  • 97
  • 1
  • 8
  • Here are the steps I used to get past this error. Start anaconda prompt as administrator. `>conda create -n py37 python=3.7 anaconda `, `>conda activate py37`, `>conda install tensorflow` – Matthew MacFarland Nov 06 '20 at 04:52
0

Expanding upon William's answer here with more explicit instructions and caveats. Pip is the recommended way to install latest version of tensorflow as per tensorflow's installation instructions -- "While the TensorFlow provided pip package is recommended, a community-supported Anaconda package is available."

Here is the code that uses pip to do the installation in a Conda environment:

conda create -n env_name python=3.8
conda activate env_name
conda install pandas scikit-learn matplotlib notebook ##installing usual Data Science packages that does include numpy and scipy 
pip install tensorflow
python -c "import tensorflow as tf;print(tf.__version__)" ##checks tf version

In general, we should be careful while mixing two package managers (conda and pip). So, it is suggested that:

Only after conda has been used to install as many packages as possible should pip be used to install any remaining software. If modifications are needed to the environment, it is best to create a new environment rather than running conda after pip.

For an example, if we would like to install seaborn in the just created env_name environment, we should:

conda create --name cloned_env --clone env_name
conda activate cloned_env
conda install seaborn

Once we check the cloned_env environment is working fine, we can delete the env_name environment.

Mohit Pandey
  • 506
  • 5
  • 16
0

Latest development for tensorflow installation on anaconda.

https://anaconda.org/anaconda/tensorflow https://anaconda.org/anaconda/tensorflow-gpu

9 days ago, Anaconda uploaded a new tensorflow v2.3 package. Anaconda3 2020.07 (uses python v3.8) users can easily upgrade to tensorflow v2.3 with the following commands;

conda install -c anaconda tensorflow
conda install -c anaconda tensorflow-gpu

I have personally tested that the installation worked successfully.

The other answers for this question have now become obsolete.

guagay_wk
  • 26,337
  • 54
  • 186
  • 295
  • Current `tensorflow-gpu` 2.3 installation in Anaconda on Windows is faulty. See [this post](https://github.com/ContinuumIO/anaconda-issues/issues/12194) for workarounds. – GZ0 Jan 12 '21 at 07:55
0

I was running into the same issue in conda prompt for Python 3.8.5 and fixed it using a Python wheel instead. Here are the steps:

  1. Open conda prompt and install pip if you don't have it already: python -m pip install --upgrade pip
  2. python -m pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-2.4.0-cp38-cp38-win_amd64.whl

Note: If you need a CPU specific tensorflow, use this wheel: https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow_cpu-2.4.0-cp38-cp38-win_amd64.whl

Jay
  • 1
0

I just downgraded python to 3.7 as tf is not avialable to 3.8 version also I cannot use virtualenv for code that's why

0

The only working answer for me is:

conda install -c conda-forge tensorflow
MEH
  • 1,777
  • 3
  • 15
  • 34
0

It appears that tensorflow 2.5 on GPU has issues with spyder. So, I made new environment and installed tensorflow gpu as suggested by anaconda. Now I have to use either prompt or jupyter . At least it works

Denis
  • 11
  • 2
-1

For macos users I suggest create an environment with python 3.7 and install tensorflow there.

You can run these commands too:

conda create -n new_env_name python=3.7
conda activate new_env_name
Ehsan
  • 3,711
  • 27
  • 30
-1

I had a similar problem in Anaconda Spyder. Here was my solution (In the Anaconda Console):

conda install pip
pip install tensorflow ==2.2.0