【问题标题】:Theano : MissingGxx , g++ not availableTheano:MissingGxx,g++ 不可用
【发布时间】:2016-05-16 13:22:57
【问题描述】:

我一直在尝试在本地 IIS 上使用 Theano 部署我的 Python Flask 应用程序,该应用程序使用 Conv 网络。当我尝试加载腌制神经网络时,出现以下错误

无法创建编译目录。

我通过更改 configdefaults.py 中的已编译路径并为该目录上的 IIS 授予读/写权限来解决此问题。现在已创建compiledir。

现在我收到 MissingGXX 错误“g++ 不可用!我们无法编译 c 代码。”。我的 PythonFolder\Scripts 中有 G++,我已经添加了这个 我的环境变量 PATH 的路径。

我只是想知道是什么导致了这个错误?是因为Theano找不到g++而且都是路径问题还是和compiledir锁有关

PS:我可以从我的 Winpython 控制台运行代码,一切正常。我已经从我的 Win python 控制台看到了 %PATH% 和 %PYTHONPATH% 的内容,并在我部署的 IIS web 应用程序上复制了相同的内容。

这是堆栈跟踪的标题:

(MissingGXX('编译节点时出现以下错误', shape_i{0}(input.input), '\n', "g++ 不可用!我们无法编译 c 代码。", '[Shape_i{0}(input.input)]'), , (

【问题讨论】:

    标签: python iis gcc g++ theano


    【解决方案1】:

    我已经解决了这个问题,我的 WinPython 环境中有两个 g++ 可执行文件,位于以下路径

    1. WinPythonDir\python-2.7.10.amd64\Scripts\g++.exe
    2. WinPythonDir\python-2.7.10.amd64\share\mingwpy\bin\g++.exe

    Spyder 使用了正确的一 (2),而 IIS 似乎使用了 1 中提到的那个。我在 IIS 上的 PATH 环境变量中明确添加了 2 的路径。 Spyder 在 PATH 中没有 2(这很奇怪),但它使用了 2 中提到的那个(我在登录 Theano 文件后确认了这一点)。

    在此之后,我的 MissingGxx 错误消失了,但现在 Theano 无法创建编译目录,因为 IIS 使用系统配置文件,而 Theano 使用该配置文件生成 compile_dir 的路径,它位于 C;|Windows|System32\config\SystemsProfile| 中的某个位置Theano\compile_dir 和 IIS 没有权限(Spyder 使用我的本地 USERPROFILE)。我更改了 Theano 的 configdefaults.py 中的 default_base_compiledir 路径,并授予 IIS 访问和修改它的权限。我无法在 SystemsProfile 中为以前的已编译目录分配权限,因为该位置非常敏感,操作系统限制我这样做。

    PS : 我复制了 PATH

    回显 %PATH%

    来自我的 WinPython 控制台和在 2 中提到的连接 g++ 路径并添加到 IIS 上的 PATH 变量中,因为 WinPython PATH 变量中没有 2。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-19
      • 2012-04-17
      • 2011-06-27
      相关资源
      最近更新 更多