Error importing theano "cannot import name gof"
Asked Answered
O

4

9

I am current getting the error

ImportError: cannot import name gof

when importing theano.

>>> import theano

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    import theano
  File "C:\Python27\lib\site-packages\theano\__init__.py", line 63, in <module>
    from theano.compile import (
  File "C:\Python27\lib\site-packages\theano\compile\__init__.py", line 9, in <module>
    from theano.compile.function_module import *
  File "C:\Python27\lib\site-packages\theano\compile\function_module.py", line 16, in <module>
    from theano import gof
ImportError: cannot import name gof

I am using python 2.7.10 (). Theano is installed using pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git. Hope to get you suggestion to solve this problem

Obtund answered 16/7, 2015 at 1:58 Comment(1)
Have you looked at github.com/Theano/Theano/issues/2406 ? Could you have caused a naming conflict (like groups.google.com/forum/#!topic/theano-users/DWJMN9LJAWY)? What directory are you in when you run Python or your Python script? What else have you tried?Fulgurate
P
5

Most of the time, when I see this error, it is caused by those 2 errors:

1) A syntax error in Theano. Update Theano and make sure to have no local modifcation. I nerver saw this error in the master of Theano, but just in case.

2) When there is multiple version of Theano that are installed.

In both case, remove all version of Theano. Do it multiple time to be sure there is none left. Then install again.

From memory, this always solved the problem when it wasn't a syntax error during development (but not in the master version of Theano that you use)

Pier answered 21/7, 2015 at 4:28 Comment(0)
A
5

This ImportError can be caused because Theano is unable to compile the gof module itself. If this is the case, you will see an error message that looks like "Exception: Compilation Failed (return status=1): C:\Long\Path\...\mod.cpp:1: sorry, unimplemented: 64-bit mode not compiled in".

Fixing With Conda

If you are installing theano into a conda environment, make sure that you have a C compiler available to that environment.

The command

conda install m2w64-toolchain

will provide a C compiler to your environment that's isolated from the rest of the machine.

After the m2w64-toolchain package is installed, import theano should work

Fixing Manually

If you are installing Theano yourself, two points from these threads may help:

Aldenalder answered 4/4, 2017 at 2:35 Comment(0)
S
1

I assume you're using Windows 7 or later.

If you have installed Python Anaconda, then open Windows Powershell or Command Prompt and type conda install mingw libpython before typing pip install theano

Alternatively, if you don't have Anaconda, download those packages from

Then open Command Prompt, navigate to each folder and type python setup.py install

Now run Python and import theano

Possible errors:

If you get the RuntimeError: "To use MKL 2018 with Theano you MUST set "MKL_THREADING_LAYER=GNU" in your environement" then

  1. Go to Control Panel > System > Advanced system settings and select "Environment Variables".

  2. In the "System variables" section, make a new variable name MKL_THREADING_LAYER and set its value to GPU

If you get other kinds of errors, then try the following:

  1. Make an empty file called .theanorc (a file extension without a file name) in your home folder C:\Users\<username>. If you get the error "You must type a file name" then see https://mcmap.net/q/80052/-how-do-i-manually-create-a-file-with-a-dot-prefix-in-windows-for-example-htaccess

  2. Open .theanorc and write this:

    [global]
    cxx=C:\<path to Anaconda>\Anaconda3\MinGW\bin\g++.exe
    
  3. Run Python again and import theano. If it works, then you can probably delete .theanorc

Sager answered 25/12, 2017 at 17:24 Comment(0)
H
0

In my case, the fix was to install a python build that's callable as a shared library:

PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.15
Hamby answered 22/4, 2019 at 5:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.