Unable to install tensorflow using conda with python 3.8 - python-3.x

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?

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

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 )

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

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

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/ .

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.

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.

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:
Open conda prompt and install pip if you don't have it already: python -m pip install --upgrade pip
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

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

The only working answer for me is:
conda install -c conda-forge tensorflow

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

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

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

Related

How to install packages on a conda environment with a specific python version

I need to use opencv and it needed python version older than 3.9. So I created a conda environment with python 3.7.9 and tried to use
pip install opencv-python
It installed but when I tried to import it gave an error:
ModuleNotFoundError: No module named 'cv2'
After I installed it on the anaconda environments tab I could import. I need to install pylibdmtx, too, but again I cannot import it after installing.
I see the version of python is 3.7.9 on the environment. But when I use pip it is using this:
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (0.1.9)
I do not know what I am missing here. What should I do?
Recommended Solution
Prefer specifying what you want in an environment up front, e.g.,
opencv.yaml
name: py37_opencv
channels:
- conda-forge
- defaults
dependencies:
- python=3.7
- opencv
Create Environment
conda env create -n py37_opencv -f opencv.yaml
Troubleshooting Issue
Otherwise, if you want get the version you have working, try ensuring that pip is actually installed in the environment of interest:
conda activate your_env
conda install pip
# then use pip …

conda_env package is not available upon downgrading Python version to 3.6

I'm trying to create a Docker image with Conda and Python 3.6 installed. I have installed Anaconda 3 with the default Python 3.7. Then I used the following command to downgrade to Python 3.6:
conda install -y python=3.6
This results in Python 3.6 successfully installing, but when I subsequently execute conda --version, it gives me the error
'conda' module not found
I found that under python3.6/site-packages folder there are no Conda-related packages and instead all these packages are found under python3.7/site-packages.
It used to work before. Is there a way to get conda packaged under python3.6 folder?
Srikanth,
You should always try creating a new environment when you are working with some old version of any library.
conda create -n myenv python=3.4
If you want to install specific packages in this environment, you can use
conda install -n myenv tensorflow
Refer to this documentation for more information:
docs.conda.io

How to install tensorflow-gpu for both python2 and python3

I already have installed tensorflow 1.2, CUDA 8.0 and CuDNN 5.1 for python2.7. Now I want to use it for python3.5 but importing tensorflow fails. How do I install tensorflow for python3 again. And do I have to do the CUDA and CuDNN episodes again?
You can create separate environment for python 2 and 3. Thus, you can easily install corresponding tensorflow versions. Remember you have to install everything separately on virtual environment once cuda and cudnn are installed on your system as per the instructions on Tensorflow webpage: https://www.tensorflow.org/install/install_linux
Although I would preferably keep both the envs separate but I tried to install both the versions in the same environment and it works.
My system configs are - CUDA - 8.0, CuDNN -7.1 and I tried installing Tensorflow 1.4.0.
# First, I created virtualenv for python2 as:
virtualenv --system-site-packages tf3n4 # tf3n4 is env name
# Then, I installed virtualenv for python3 with same name, it will not override python2 but it will create a seperate python3 bin.
virtualenv --system-site-packages -p python3 tf3n4
# go to your env (it's in my home directory)
source ~/tf3n4/bin/activate
Now you can check for both pythons by which python2 and which python3, this will be in your env path but not on the local machine python. For example: I got this /home/USERNAME/tf3n4/bin/python2 and /home/USERNAME/tf3n4/bin/python3.
#Now, install tensorflow for python 2:
python2 -m pip install --upgrade tensorflow-gpu==1.4
# install tensorflow for python 3:
python3 -m pip install --upgrade tensorflow-gpu==1.4
Once, you are done, you can run any python just by mentioning it:
python2 or python3 before running any code on terminal
If you have already installed tensorflow 1.2, CUDA 8.0 and CuDNN 5.1 for python2.7. Then you can:
yum install python3-pip
(now you have python3 and pip3, however the python version may not be 3.5)
python3 -m pip install --upgrade tensorflow-gpu==1.2
(make sure the installed version is exactly same as that of python2)
I made it after these two steps.

Trouble installing opencv3 with anaconda python 3.6 (on mac)

I have successfully installed anaconda with python3.6.1 on my mac. I followed the instruction from the internet:
first enter this on terminal:
conda create -n venv_demo python=3.6.1
then activate:
source activate venv_demo
However, when I tried to install openv3
I either tried the cmd line
conda install -c https://conda.anaconda.org/menpo opencv3
or
conda install -c menpo opencv3
it gave me the error as following:
error showing on terminal
Could someone tell me how to fix it? Do I need to remove python 2.7? Now I have installed python 3.6.1 and have 2 versions on my mac. Thanks!
Have a look at the list of conda installers for OpenCV in under the menpo package on Anaconda's package list:
osx-64/opencv3-3.1.0-py27_0.tar.bz2
osx-64/opencv3-3.1.0-py34_0.tar.bz2
osx-64/opencv3-3.1.0-py35_0.tar.bz2
linux-64/opencv3-3.1.0-py35_0.tar.bz2
linux-64/opencv3-3.1.0-py27_0.tar.bz2
linux-64/opencv3-3.1.0-py36_0.tar.bz2
linux-64/opencv3-3.1.0-py34_0.tar.bz2
linux-64/opencv3-3.2.0-np111py35_0.tar.bz2
linux-64/opencv3-3.2.0-np111py34_0.tar.bz2
linux-64/opencv3-3.2.0-np111py27_0.tar.bz2
win-32/opencv3-3.1.0-py27_0.tar.bz2
win-64/opencv3-3.1.0-py35_0.tar.bz2
win-32/opencv3-3.1.0-py35_0.tar.bz2
win-64/opencv3-3.1.0-py34_0.tar.bz2
win-32/opencv3-3.1.0-py34_0.tar.bz2
win-64/opencv3-3.1.0-py27_0.tar.bz2
Notice the Python versions listed in each installer. For macOS, the newest menpo installer is OpenCV 3.1.0 and works on Python 3.5. So if you want to use the menpo installer, simply create a new environment with Python 3.5, activate, and then install:
conda create -n <opencv virtual env> python=3.5
source activate <opencv virtual env>
conda install -c menpo opencv3
Otherwise if you want to use Python 3.6 (which is a really great Python release), you'll need to build from source. See the great answer from this Stack Overflow question: Can't install OpenCV3 on Anaconda3 python3.6 on macOS.

pip3 not found in Tensorflow environment: "-bash: pip3: command not found"

I'm following instructions to create a Tensorflow environment for a Machine Learning course, with python 3.5, ipython and jupyter.
I created a Tenserflow environment with python 3.5 using conda create -n tensorflow python=3.5. That worked.
Then I ran conda install -c conda-forge tensorflow. That also worked.
Then I installed ipython with conda install ipython, which also worked fine.
However, when I ran pip3 install jupyter, I got error message bash: pip3: command not found.
I found a few posts about variations on pip3 problems and (within the Tensorflow environment):
When I type pip --version, it tells me I have version 8.1.2
When I try locate pip3, I get WARNING: The locate database (/var/db/locate.database) does not exist
I tried using pip-3.2 as recommended in one of the other questions' solutions (which worked for that OP), and I get the same command not found error message.
I'm using OS X 10.8.5
pip is different from pip3. So you might need to install it if it can't be found. If it is installed run this:
sudo updatedb
this will update the locate function.
if you're using conda why do you want to install it with pip anyways?
Jupyter is the new version of ipython. running conda install ipython installs ipython (now jupyter).

Resources