Error running basic tensorflow example

PythonUbuntuTensorflow

Python Problem Overview


I have just reinstalled latest tensorflow on ubuntu:

$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl
[sudo] password for ubuntu: 
The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting tensorflow==0.7.1 from https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl
  Downloading https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl (13.8MB)
    100% |████████████████████████████████| 13.8MB 32kB/s 
Requirement already up-to-date: six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: protobuf==3.0.0b2 in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: wheel in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: numpy>=1.8.2 in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: setuptools in /usr/local/lib/python2.7/dist-packages (from protobuf==3.0.0b2->tensorflow==0.7.1)
Installing collected packages: tensorflow
  Found existing installation: tensorflow 0.7.1
    Uninstalling tensorflow-0.7.1:
      Successfully uninstalled tensorflow-0.7.1
Successfully installed tensorflow-0.7.1

When following the directions to test it fails with cannot import name pywrap_tensorflow:

$ ipython

/git/tensorflow/tensorflow/__init__.py in <module>()
     21 from __future__ import print_function
     22 
---> 23 from tensorflow.python import *

/git/tensorflow/tensorflow/python/__init__.py in <module>()
     43 _default_dlopen_flags = sys.getdlopenflags()
     44 sys.setdlopenflags(_default_dlopen_flags | ctypes.RTLD_GLOBAL)
---> 45 from tensorflow.python import pywrap_tensorflow
     46 sys.setdlopenflags(_default_dlopen_flags)
     47 

ImportError: cannot import name pywrap_tensorflow

Is there an additional change needed to my python or ubuntu/bash environment?

Python Solutions


Solution 1 - Python

From the path in your stack trace (/git/tensorflow/tensorflow/…), it looks like your Python path may be loading the tensorflow libraries from the source directory, rather than the version that you have installed. As a result, it is unable to find the (compiled) pywrap_tensorflow library, which is installed in a different directory.

A common solution is to cd out of the /git/tensorflow directory before starting python or ipython.

Solution 2 - Python

The command below helped me.

 pip install tensorflow --upgrade --force-reinstall

Solution 3 - Python

I compiled, installed TensorFlow from source (GitHub: https://github.com/tensorflow/tensorflow) in a Python 2.7 virtual environment (venv). It worked fine, but I needed (as others have mentioned, e.g. user "mrry" at https://stackoverflow.com/questions/35953210/error-running-basic-tensorflow-example) to cd out of the partition in which I had compiled TensorFlow, to another partition, in order to be able to import tensorflow into Python. Otherwise, I got various errors, depending on which (source partition) directory I was in. To clarify:

         source: /mnt/Vancouver/apps/tensorflow
can't import tf: Python launched in any of /mnt/...
  can import tf: Python launched in /home/victoria/...

I later just followed the instructions here,

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#anaconda-installation

and everything just works, fine.

For reference, I am operating on

  • Arch Linux [4.6.3-1-ARCH] x86_64
  • Intel i7-4790
  • xfce 4.12 desktop environment

INSTALL STEPS:

Modify paths, venv names as per your preferences.

  1. Create tf-env:

     cd /home/victoria/anaconda3/envs
    
     conda create -n tf-env python=2.7 anaconda
    

Note: appending the 'anaconda' metapackage installs ALL Anaconda packages (NumPy; ...).

  1. Source activate that venv (tf-env)

     source activate tf-env
    

Note: added to ~/.bashrc as an alias:

alias tf='echo "  [TensorFlow in Anaconda Python 2.7 venv (source activate tf]" && source activate tf-env'

3. Install TensorFlow in the tf-env venv:

    (tf-env)$ conda install -c conda-forge tensorflow

THIS obviates the use of pip (including the *.whl install script), an alternative approach to installing TensorFlow that is described here:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md).

WORKS!

(tf-env)[victoria@victoria ~]$ P

  [P: python]
Python 2.7.12 |Anaconda 4.1.1 (64-bit)| (default, Jul  2 2016, 17:42:40)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

>>> import tensorflow
>>> print tensorflow.__version__
0.9.0
>>> [Ctrl-D]

(tf-env)[victoria@victoria ~]$

You may then work with TensorFlow in the tf-env; e.g., in Jupyter notebooks launched in this (tf-env) venv.

Solution 4 - Python

Tensorflow 2.0 Compatible Answer: Both mrry's solution and neustart47's work for Tensorflow Version >= 2.0.

Answer 1: cd out of the /git/tensorflow directory before starting python or ipython.

Answer 2: pip install tensorflow --upgrade --force-reinstall or
!pip install tensorflow==2.0 --force-reinstall

Solution 5 - Python

In my python -m venv environment it appeared to be fixed by:

pip uninstall tensorflow

Change requirements.txt to say tensorflow==1.5.0 instead of tensorflow==1.8.0.

pip install -r requirements.txt

Solution 6 - Python

if you using CPU manufactured before 2011 then downgraded the tensorflow version from 1.8.0 to 1.5.0 or 1.2.0 and try to import the module it worked for me.

Solution 7 - Python

Installing via the following command solves the problem:

pip install --upgrade

Here's the link to download

Solution 8 - Python

I figured out that TensorFlow 1.12.0 only works with Python version 3.5.2. I had Python 3.7 but that didn't work. So, I had to downgrade Python and then I could install TensorFlow it works.

To downgrade your python version from 3.7 to 3.6

conda install python=3.6.8

Solution 9 - Python

I'm using tensorflow 1.13.1. Just reinstalling tensorflow worked for me.

Solution 10 - Python

I also have this issue and have been looking into it for a long time. It seems that there is no such problem on python 3+. On py2.7- The problem is actually on google.protobuf

Solution 1:

pip uninstall protobuf
pip uninstall google
pip install google
pip install protobuf
pip install google-cloud

Solution 2:

create an __init__.py in "google" folder.

cd /path/to/your/env/lib/python2.7/site-packages/google
touch __init__.py

Hopefully it will work.

Solution 11 - Python

I resolve the problem. Try the follow command:

pip install --upgrade pip

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionWestCoastProjectsView Question on Stackoverflow
Solution 1 - PythonmrryView Answer on Stackoverflow
Solution 2 - PythonkkostView Answer on Stackoverflow
Solution 3 - PythonVictoria StuartView Answer on Stackoverflow
Solution 4 - PythonTensorflow SupportView Answer on Stackoverflow
Solution 5 - PythonCees TimmermanView Answer on Stackoverflow
Solution 6 - PythoniwilldoView Answer on Stackoverflow
Solution 7 - PythonRajesh TcView Answer on Stackoverflow
Solution 8 - PythonThirumal AlaguView Answer on Stackoverflow
Solution 9 - PythonRoberto DeresuView Answer on Stackoverflow
Solution 10 - PythonJerryhtzView Answer on Stackoverflow
Solution 11 - PythonMiseon HanView Answer on Stackoverflow