导入theano"时出错无法导入名称gof"

时间:2015-07-16 01:58:57

标签: python-2.7 theano

我目前正在收到错误

  

ImportError:无法导入名称gof

导入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

我正在使用python 2.7.10()。 Theano使用pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git安装。 希望能得到你解决这个问题的建议

4 个答案:

答案 0 :(得分:5)

大多数情况下,当我看到这个错误时,它是由这两个错误引起的:

1)Theano中的语法错误。更新Theano并确保没有本地修改。我在Theano的主人看到了这个错误,但以防万一。

2)当安装了多个Theano版本时。

在这两种情况下,删除所有版本的Theano。做多次,以确保没有剩余。然后重新安装。

从内存来看,这总是在开发过程中出现语法错误时解决了问题(但在你使用的Theano主版本中没有)

答案 1 :(得分:4)

可能会导致ImportError,因为Theano是unable to compile the gof module itself。如果是这种情况,您会看到一条类似于&#34; Exception: Compilation Failed (return status=1): C:\Long\Path\...\mod.cpp:1: sorry, unimplemented: 64-bit mode not compiled in&#34;的错误消息。

使用Conda修复

如果要将theano安装到conda环境中,请确保该环境可以使用C编译器。

命令

conda install m2w64-toolchain

将为您的环境提供一个C编译器,它与机器的其余部分隔离。

安装m2w64-toolchain软件包后,import theano应该正常工作

手动修复

如果您自己安装Theano,these threads的两点可能会有所帮助:

答案 2 :(得分:1)

我假设您使用的是Windows 7或更高版本。

如果您已安装Python Anaconda,请先打开Windows Powershell或命令提示符,然后在键入conda install mingw libpython之前键入pip install theano

  

或者,如果您没有Anaconda,请从

下载这些软件包            

然后打开命令提示符,导航到每个文件夹并键入python setup.py install

现在运行Python和import theano

可能的错误:

如果你得到RuntimeError:“To use MKL 2018 with Theano you MUST set "MKL_THREADING_LAYER=GNU" in your environement”那么

  1. 转到“控制面板”&gt;系统&gt;高级系统设置并选择“环境变量”。

  2. 在“系统变量”部分中,创建一个新变量名称MKL_THREADING_LAYER并将其值设置为GPU

  3. 如果您遇到其他类型的错误,请尝试以下操作:

    1. 在您的主文件夹C:\ Users \&lt; username&gt;中创建一个名为.theanorc的空文件(没有文件名的文件扩展名)。如果您收到错误“您必须输入文件名”,请参阅stackoverflow.com/q/5004633

    2. 打开.theanorc并写下:

      [global]
      cxx=C:\<path to Anaconda>\Anaconda3\MinGW\bin\g++.exe
      
    3. 再次运行Python并导入theano。如果有效,则可以删除.theanorc

答案 3 :(得分:0)

就我而言,解决方法是安装可作为共享库调用的python版本:

PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.15