API хостинга Flask (python) в API Azure - PullRequest
       46

API хостинга Flask (python) в API Azure

0 голосов
/ 23 декабря 2018

Команда, я пытался разместить API флакона в приложении Azure API.И это не работает.

Приложение Azure API работает.Страница хостинга открывается с версией Python 3.6.6.

Я не могу разместить простой проект hello world, и я получаю следующие ошибки:

  1. Не могу добавить обработчики в web.config.если добавлена ​​ошибка 500.

  2. Невозможно установить колбу из куду.Ошибка получения разрешения.При установке с --user колба устанавливается в папку пользователя.Изменен путь для включения этой папки, но по-прежнему невозможно импортировать флягу.

  3. Развернуто с помощью git.Загрузка прошла успешно, но при развертывании произошла ошибка с указанием неподдерживаемой версии Python 3.6 времени исполнения.

Возможно, мне не хватает основ основы настройки Python в приложении API Azure?Проблема в том, что я всегда получаю 500 ошибок.Но стартовая страница базового хостинга Azure работает (если я не прикасаюсь к web.config)

Примечание: - Выполнено руководство по API baby python.

  • Следуйте инструкциям, приведенным в разделе справки Azure

  • Также добавлено расширение Python 3.6.Ничего не изменилось.

1 Ответ

0 голосов
/ 24 декабря 2018

Существует ответ на аналогичную ветку SO Как запустить web-API фляги на основе python3.7 в Azure , чтобы помочь с помощью WSGI_Handle для развертывания приложения фляги.

Или есливы просто хотите узнать, как запустить демонстрационную версию hello world на официальном веб-сайте фляги в Azure, например, используя flask run на локальной машине, вы можете выполнить мои действия ниже.

  1. Установите Python 3.6.4 x64 расширение сайта через Kudu в вашем приложении API.enter image description here

  2. Перейти к консоли CMD Kudu, enter image description here

Затем кследуйте приведенным ниже командам для обновления pip и установки flask в консоли Kudu.

D:\home\python364x64>python -V
Python 3.6.4

D:\home\python364x64>pip -V
pip 9.0.1 from D:\home\python364x64\lib\site-packages (python 3.6)


D:\home\python364x64>python -m pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/c2/d7/90f34cb0d83a6c5631cf71dfe64cc1054598c843a92b400e55675cc2ac37/pip-18.1-py2.py3-none-any.whl (1.3MB)
Installing collected packages: pip
  Found existing installation: pip 9.0.1
    Uninstalling pip-9.0.1:
      Successfully uninstalled pip-9.0.1
Successfully installed pip-18.1

D:\home\python364x64>pip install flask
Collecting flask
  Downloading https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl (91kB)
Collecting click>=5.1 (from flask)
  Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)
Collecting Jinja2>=2.10 (from flask)
  Downloading https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl (126kB)
Collecting Werkzeug>=0.14 (from flask)
  Downloading https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)
Collecting itsdangerous>=0.24 (from flask)
  Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->flask)
  Downloading https://files.pythonhosted.org/packages/9d/80/9a5daf3ed7b8482e72ee138cef602b538cfba5c507e24e39fb95c189b16b/MarkupSafe-1.1.0-cp36-cp36m-win_amd64.whl
Installing collected packages: click, MarkupSafe, Jinja2, Werkzeug, itsdangerous, flask
  The script flask.exe is installed in 'D:\home\python364x64\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed Jinja2-2.10 MarkupSafe-1.1.0 Werkzeug-0.14.1 click-7.0 flask-1.0.2 itsdangerous-1.1.0
Загрузите файлы app.py & web.config, enter image description here

Вот их содержание, как показано ниже.

app.py Содержимое:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

web.config Содержимое:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings>
        <add key="PYTHONPATH" value="D:\home\site\wwwroot" />
        <add key="PATH" value="D:\home\python364x64;D:\home\python364x64\Scripts;%PATH%" />
    </appSettings>
  <system.webServer>
    <handlers>
        <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="D:\home\python364x64\Scripts\flask.exe" arguments="run --port %HTTP_PLATFORM_PORT%" stdoutLogEnabled="true" startupRetryCount='10'>
    </httpPlatform>
  </system.webServer>
</configuration>

Затем обновите браузер или сначала перезапустите приложение API в браузере, как показано на рисунке ниже.

enter image description here

...