我正尝试在Azure中的Python脚本上使用matplotlib
,在Web App上使用WebJob。我收到以下错误:
这个错误很明显是在导入tkinter
时出现的,但基于this,似乎tkinter
在Azure中不可用。这对我来说不是问题,因为当我使用它时,我只是创建了一个PNG,所以我相信我实际上并不需要它。
我怎样才能解决这个问题呢?
发布于 2019-07-14 09:26:20
我通过这个解决了这个问题。
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt
发布于 2019-06-27 15:45:55
你不能用sudo apt-get install python-tk
安装tkinter
我通常必须以这种方式安装软件包,然后它才能工作。
发布于 2019-06-28 04:20:43
根据你的WebJob日志,你正在使用Azure WebApp for Windows来运行它。不幸的是,由于Azure Web App sandbox
的Win32k.sys (User32/GDI32) Restrictions
,使用matplotlib
创建PNG的工作永远不会为您工作,即使在修复了当前问题之后,因为matplotlib
需要GDI
。
因此,我建议您可以尝试让相同的Python脚本在Linux上工作,并使用crontab
触发它,并编写Docker文件或构建Docker镜像,以便在Azure WebApp for Linux上部署。请参考官方文档Create a Python app in Azure App Service on Linux
开始。
https://stackoverflow.com/questions/56793301
复制相似问题