将Blender部署到Azure应用程序

时间:2016-08-02 15:44:38

标签: python azure blender azure-api-apps

我已将Blender.exe及所有相关文件复制到Azure API App,然后尝试使用我的自定义Python脚本(使用System.Dianostics.Process())运行它:

  

blender.exe --background --python myscript.py

但无法让它正常运行。请注意,它在我的本地IIS中工作正常。

所以问题是Azure App支持运行Blender吗? (因为Blender可能需要运行GPU支持机器,而Azure尚不支持GPU)

如果是,那么如何查看blender.exe命令返回的错误? (我无法远程桌面到Azure Api App手动运行命令)

更新:

我可以手动使用Azure Console命令行成功运行bl​​ender脚本。 但是当使用代码System.Diagnostics.Process()运行脚本时,它从StandardError流中得到了这个错误:

  

致命Python错误:Py_Initialize:无法初始化sys标准流

     

OSError:[WinError 6]句柄无效

1 个答案:

答案 0 :(得分:1)

@MinhNguyen,根据Kudu的wiki page,由于Win32k.sys(User32 / GDI32)限制,包含Api App的Azure应用服务不支持使用GDI +,但是blender可以使用{{1 }}。所以不幸的是,blender无法在Azure Api App上运行,请考虑使用Azure云服务或虚拟机进行混合。

<强>更新: 正如@MinhNguyen评论所说,搅拌器可以在Kudu控制台中手动运行,虽然看起来搅拌器可以与GDI一起工作,因为编译搅拌器需要gdi32.lib。因此问题的解决方案是将blender.exe和相关的python脚本打包为在Azure上运行的webjob。