2016-08-02 75 views
1

我抄Blender.exe和所有相关文件到Azure API App然后尝试用我这样的自定义Python脚本来运行它(使用System.Dianostics.Process()):部署搅拌机天青应用

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

但不能让它跑正常。请注意,它在我的本地IIS中正常工作。

所以问题是Azure应用程序支持运行Blender吗? (因为Blender可能需要GPU支持机器才能运行,而Azure不支持GPU)

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

更新:

我可以运行以上成功地使用Azure Console命令行通过手动搅拌器脚本。 但是,当运行使用代码System.Diagnostics.Process(脚本),它得到了StandardError的流这样的错误:

Fatal Python error: Py_Initialize: can't initialize sys standard streams

OSError: [WinError 6] The handle is invalid

+0

我没有使用它,但有一个[项目在github上](https://github.com/Azure/azure-batch-apps-blender)在azure上运行blender。 – sambler

回答

1

@MinhNguyen,根据维基捻,Azure的应用程序服务的page其中包括阿比应用程序不支持使用GDI场景+由于Win32k.sys(User32/GDI32)限制,但搅拌机适用于gdi32。所以不幸的是,搅拌机无法在Azure Api App上工作,请考虑Azure Cloud Service或虚拟机用于搅拌机。


更新: 作为@MinhNguyen评论说,搅拌机可以手动在捻控制台中运行,但它似乎搅拌机作品与GDI,因为编译搅拌器需要GDI32.LIB的。因此,解决此问题的方法是将包含blender.exe和相关的python脚本作为webjob在Azure上运行。

+0

谢谢。但为什么我仍然可以在Kudu调试控制台中使用命令行在Azure Api App中运行Blender脚本? –

+0

@MinhNguyen,我搜索了编译搅拌器需要gdi32.lib,但我不确定只用cmd运行搅拌器是否需要gdi。如果您可以在Kudu控制台中手动运行它,我认为您可以尝试将它们打包为Webjob来运行。 –

+0

谢谢@PeterPan。我正在把它移到WebJob上,它工作。 –