导入theano时出错“无法导入名称gof”

问题描述 投票:9回答:4

我目前得到错误

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安装。希望能得到你解决这个问题的建议

python-2.7 theano
4个回答
5
投票

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

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

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

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

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


4
投票

这可能是因为Theano是ImportError引起的unable to compile the gof module itself。如果是这种情况,您将看到一条看起来像“Exception: Compilation Failed (return status=1): C:\Long\Path\...\mod.cpp:1: sorry, unimplemented: 64-bit mode not compiled in”的错误消息。

使用Conda进行修复

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

命令

conda install m2w64-toolchain

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

安装m2w64-toolchain软件包后,import theano应该可以运行

手动修复

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


1
投票

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

如果您已安装Python Anaconda,则在键入conda install mingw libpython之前打开Windows Powershell或命令提示符并键入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. 转到“控制面板”>“系统”>“高级系统设置”,然后选择“环境变量”。
  2. 在“系统变量”部分中,创建一个新变量名称MKL_THREADING_LAYER并将其值设置为GPU

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

  1. 在您的主文件夹C:\ Users \中创建一个名为.theanorc的空文件(没有文件名的文件扩展名) 。如果您收到错误“您必须键入文件名”,请参阅 stackoverflow.com/q/5004633
  2. 打开.theanorc并写下: [global] cxx=C:\<path to Anaconda>\Anaconda3\MinGW\bin\g++.exe
  3. 再次运行Python并导入theano。如果它有效,那么你可以删除.theanorc

0
投票

在我的例子中,修复是安装一个可以作为共享库调用的python构建:

PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.15
© www.soinside.com 2019 - 2024. All rights reserved.