【问题标题】:Trouble installing Theano (64 bit DLL error)安装 Theano 时遇到问题(64 位 DLL 错误)
【发布时间】:2016-05-12 00:38:42
【问题描述】:

我正在使用带有 NVidia 显卡的 Windows 7 64 位笔记本电脑。我想使用使用 Theano 的千层面。我从没想过会这么复杂:/

在我自己惨遭失败后,我尝试按照本教程进行操作:http://deeplearning.net/software/theano/install_windows.html - 它使用 python2.7,但我想使用较新的 3.5 版本(我认为这不是问题)。我做了一切,最后我可以打电话了:

>where gcc
C:\TDM-GCC-64\bin\gcc.exe

>where gendef
C:\TDM-GCC-64\x86_64-w64-mingw32\bin\gendef.exe

>where cl
C:\Users\user\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\bin\amd64\cl.exe

>where nvcc
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\bin\nvcc.exe

>where python
C:\WinPython-64bit-3.5.1.1\python-3.5.1.amd64\python.exe
C:\Users\user\AppData\Local\Programs\Python\Python35-32\python.exe

我认为这看起来很有希望,我什至检查了 python.exe 是 64 位版本(我从其他线程进行了 size() 检查)。所以接下来我下载了 Theano,我应该调用“python setup.py develop”,但它说“unknown option develop”,所以我使用了“build”和“install”。然后我尝试运行一个示例,但是当我输入“import theano”时,我收到以下错误:

>>> import theano
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
    [...]
    from theano.gof.cmodule import GCC_compiler
  File "C:\Users\user\Downloads\Theano-master\Theano-master\theano\gof\cmodule.py", line 34, in <module>
    from theano.gof import compilelock
  File "C:\Users\user\Downloads\Theano-master\Theano-master\theano\gof\compilelock.py", line 6, in <module>
    import socket  # only used for gethostname()
  File "C:\Users\user\AppData\Local\Programs\Python\Python35-32\Lib\socket.py", line 49, in <module>
    import _socket
ImportError: DLL load failed: %1 is not a valid Win32 application.

所以这似乎是一个 64 位 - 32 位 DLL 问题。你们有什么建议吗?非常感谢!

【问题讨论】:

  • 回溯中的路径表明它使用的是 32 位而不是 64 位。
  • 哦 35-32 对吗?我想我可以解决这个问题。将在一分钟内报告

标签: python windows dll 32bit-64bit theano


【解决方案1】:

所以是的 kichik 你是对的。在安装 python 时,我以某种方式将 35-32 文件夹放在了我的路径中。然后我一直认为它是 64 位的,因为我使用的是 WinPython 64 位版本。如果您查看“where python”的输出,您可以看到这两个文件都在我的路径中。这导致了问题。更改路径解决了我的问题。

非常感谢!

【讨论】:

  • 如果 .py 脚本与 py.exe 启动器相关联,您可能会遇到其他问题,因为 WinPython 可能不使用 py.exe 用于查找已安装版本的官方注册表项。你为什么用 WinPython 而不是官方的 x64 版本?
  • 我想按照该教程进行操作,但我安装了官方的 x64 版本(并且不知何故使用了它,这就是错误的来源)。但你说得对,我不喜欢它在身边。你知道如何让 theano 在没有它的情况下工作吗?我安装了 pip 并设法启动了一个虚拟环境。但是 pip install theano 给了我:[...]mmy.cp35-win_amd64.lib" failed with exit status 1104 LINK : fatal error LNK1104: cannot open file 'python35.lib' 也许这就是本教程使用 WinPython 然后执行的原因dlltool 有什么奇怪的吗?
  • 对于 3.5,您应该使用 Visual Studio 2015。如果用于开源或非商业个人用途,请使用功能齐全的社区版。 Python 3.5 的官方 64 位版本也已经包含 libpython35.a,以防您更愿意(或需要)使用 gcc 构建。
  • 我有 Visual Studio 2015。我刚刚将 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64 添加到我的路径中,但 pip 仍然抱怨缺少 python35.lib。我检查了,文件在那里。我什至将该文件夹添加到路径中(它是我的 python 安装中的 libs 文件夹)。
  • 对不起评论链,不知道如何做得更好。我跟着stackoverflow.com/questions/29499815/…,下载了numpy的轮子并安装了它。有效。但是尝试安装 theano 仍然失败,因为现在我得到:“numpy.distutils.system_info.NotFoundError: no lapack/blas resources found”。所以我会通过 20 个步骤来安装 Lapack (icl.cs.utk.edu/lapack-for-windows/lapack),但是使用 WinPython 它已经可以工作了(他们说 WinPython 会自动链接到 Blas/Lapack)。有什么建议吗?
猜你喜欢
  • 1970-01-01
  • 2022-01-24
  • 2014-12-14
  • 2015-10-05
  • 2014-09-11
  • 1970-01-01
  • 2013-12-24
  • 2020-02-27
相关资源
最近更新 更多