Error importing theano “cannot import name gof”

2019-02-16 22:28发布

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

3条回答
看我几分像从前
2楼-- · 2019-02-16 22:52

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 stackoverflow.com/q/5004633

  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

查看更多
兄弟一词,经得起流年.
3楼-- · 2019-02-16 22:58

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:

查看更多
家丑人穷心不美
4楼-- · 2019-02-16 23:00

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)

查看更多
登录 后发表回答