«ModuleNotFoundError: нет модуля с именем« tkinter »» при попытке использовать matplotlib в Azure - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь использовать matplotlib для скрипта Python в Azure, используя WebJob в веб-приложении. Я получаю сообщение об ошибке ниже:

enter image description here

Ошибка, очевидно, возникает при импорте tkinter, но на основе this кажется, что tkinter недоступен в Azure. Это не проблема для меня, так как когда я использую его, я просто создаю PNG, поэтому я считаю, что он на самом деле не нужен.

Как мне обойти эту проблему?

Ответы [ 3 ]

2 голосов
/ 14 июля 2019

Я решил эту проблему через это.

import matplotlib 
matplotlib.use('agg')
import matplotlib.pyplot as plt
0 голосов
/ 28 июня 2019

Согласно журналам вашего WebJob, вы используете Azure WebApp для Windows для его запуска. К сожалению, из-за Win32k.sys (User32/GDI32) Restrictions из Azure Web App sandbox работа по созданию PNG matplotlib никогда не будет работать для вас, даже после исправления текущей проблемы, потому что matplotlib требует GDI .

enter image description here

Поэтому я предлагаю вам попытаться заставить тот же скрипт Python работать на Linux и использовать crontab для его запуска, а также написать Dockerfile или создать образ Docker для развертывания в Azure WebApp для Linux. Пожалуйста, обратитесь к официальному документу Create a Python app in Azure App Service on Linux, чтобы начать.

0 голосов
/ 27 июня 2019

Вы не можете установить tkinter с sudo apt-get install python-tk?

Обычно я должен установить пакет таким образом, чтобы он заработал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...