Нет модуля pip или python внутри лазурного веб-приложения - PullRequest
0 голосов
/ 27 марта 2019

Я пытался развернуть веб-приложение в Azure, используя Python в качестве бэкэнда для веб-приложения, однако каждый раз, когда я пытаюсь развернуть его из локального git, он работает правильно, но приложение не работает.

После попытки запустить скрипт прямо из консоли приложения на Azure:

Python hostingstart.py

Приводит к ошибке:

No module Flask found

После этого я попытался запустить pip в командной строке, и кажется, что в Azure установлена ​​Python версии 3.6.6, и это нормально, но я не могу вызвать pip напрямую из командной строки.

Однако он «правильно разворачивается», когда я делаю git push из local:

remote: Requirement already satisfied: click==6.7 in d:\home\site\wwwroot\env\lib\site-packages (from -r requirements.txt (line 1)) (6.7)
remote: Requirement already satisfied: Flask==1.0.2 in d:\home\site\wwwroot\env\lib\site-packages (from -r requirements.txt (line 2)) (1.0.2)
remote: Requirement already satisfied: itsdangerous==0.24 in d:\home\site\wwwroot\env\lib\site-packages (from -r requirements.txt (line 3)) (0.24)
remote: Requirement already satisfied: Jinja2==2.10 in d:\home\site\wwwroot\env\lib\site-packages (from -r requirements.txt (line 4)) (2.10)
remote: Requirement already satisfied: MarkupSafe==1.0 in d:\home\site\wwwroot\env\lib\site-packages (from -r requirements.txt (line 5)) (1.0)
remote: Requirement already satisfied: Werkzeug==0.14.1 in d:\home\site\wwwroot\env\lib\site-packages (from -r requirements.txt (line 6)) (0.14.1)
remote: You are using pip version 10.0.1, however version 19.0.3 is available.
remote: You should consider upgrading via the 'python -m pip install --upgrade pip' command.
remote: Finished successfully.
remote: Running post deployment command(s)...
remote: Deployment successful.

Похоже, что есть один шаг, который я пропускаю, так как я указал свои требования в require.txt, и Azure, кажется, предлагает установить их как часть развертывания ... хотя я не уверен, как pip не установлен в машина, к которой я получаю доступ через веб-консоль .... кто-нибудь может объяснить, что происходит?

Другие примечания, которые могут быть полезны:

Я развернул приложение через веб-интерфейс Azure, а не через веб-приложение az, так как я не хотел развертывать его в новом контейнере Linux в новой группе, я хотел, чтобы ресурс находился в определенной заранее определенной группе (не обязательно, если это актуально, поскольку веб-приложение заражено, несмотря на то, что не разрешает зависимости).

Развернутое веб-приложение по умолчанию работает нормально, показывая: этот веб-сайт работает под управлением Python 3.6.6.

1 Ответ

1 голос
/ 27 марта 2019

Я вижу, что вы развертывали приложение Flask в IIS в Azure WebApp для Windows, а не в контейнере Azure WebApp для Linux, но вы следовали официальному руководству по развертыванию Linux.

Таким образом, вы можете попытаться выполнить мои ответы для этих потоков SO, как показано ниже, для его развертывания.

  1. Приложение Hosting Flask (Python) выдает ошибку CGI
  2. Публикация веб-приложения Flask в Azure
  3. Публикация приложения MVC, использующего скрипт Python

Шаги примерно такие, как показано ниже:

  1. Загрузите приложение или нажмите на него.
  2. Установите расширение Python в своем веб-приложении через Kudu.
  3. Чтобы установить pip для расширения Python, которое вы установили ранее.
  4. Используйте pip для установки этих необходимых зависимостей, таких как flask или других, определенных в requirements.txt.
  5. Создайте файл web.config и настройте его для IIS для запуска приложения фляги.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...