我正在尝试通过Web应用程序上的WebJob在Azure的Python脚本上使用()
。我收到以下错误:
导入matplotlib
时显然会出现错误,但是基于this,看来tkinter
在Azure中不可用。对我来说这不是问题,因为当我使用它时,我只是在创建一个PNG,所以我相信我实际上并不需要它。
如何解决这个问题?
答案 0 :(得分:0)
您不能使用questionDaoMock.findAll()
安装tkinter吗?
我通常必须先以这种方式安装软件包,然后才能起作用。
答案 1 :(得分:0)
根据WebJob的日志,您正在使用Windows的Azure WebApp来运行它。不幸的是,由于Azure Web App sandbox
中的Win32k.sys (User32/GDI32) Restrictions
,即使解决了当前问题,通过matplotlib
创建PNG的工作也永远不会为您服务,因为matplotlib
需要{ {1}}。
因此,我建议您尝试使相同的Python脚本在Linux上运行,并使用GDI
来触发它,并编写Dockerfile或构建Docker映像以在Linux的Azure WebApp上进行部署。请先参考官方文档Create a Python app in Azure App Service on Linux
。
答案 2 :(得分:0)
我通过此方法解决了这个问题。
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt