我已将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
命令行成功运行blender脚本。
但是当使用代码System.Diagnostics.Process
()运行脚本时,它从StandardError流中得到了这个错误:
致命Python错误:Py_Initialize:无法初始化sys标准流
OSError:[WinError 6]句柄无效
答案 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。