Сервер разработки Flask не работает с Python 3.7 - PullRequest
0 голосов
/ 22 октября 2018

Я изучаю Flask и столкнулся с проблемой при запуске Flask 1.0.2 и Python 3.7 в Windows 10.

Во-первых, вывод, показанный при запуске сервера флеш-памяти, минимален, а также я не смог запустить флешку врежим разработки ...

Затем я перешел на Python версии 3.6, все работает как положено ...

Можно ли использовать Flask с Python 3.7?

Более подробная информация приведена ниже.:

У меня установлен простой сервис колб, как указано ниже:

# /services/users/project/__init__.py

from flask import Flask, jsonify

app = Flask(__name__)

app.config.from_object('project.config.DevelopmentConfig')  

@app.route('/users/ping', methods=['GET'])  

def ping_pong():  
    return jsonify({   
        'status': 'success',  
        'message': 'pong!' 
    })

Для запуска этого приложения используется файл manage.py:

# services/users/manage.py

from flask.cli import FlaskGroup

from project import app

cli = FlaskGroup(app)

if __name__ == '__main__':
    cli()

Я запустил приведенное ниже, чтобы запустить приложение:

set FLASK_APP=project/__init__.py
python manage.py run

Приложение запустилось, и в консоли было напечатано следующее, содержащее меньше информации, чем я ожидал:

 * Serving Flask app "project"
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Затем я остановилсяприложение и попытался запустить его в режиме «разработки»:

set FLASK_ENV=development
python manage.py run

Это отображало точно такое же сообщение «работает» в консоли ...

 * Serving Flask app "project"
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Я царапал свойПройдите в этот момент и убедитесь, что FLASK_ENV был установлен правильноly:

C:\PROJECTS\flask_app1\services\users>echo %FLASK_ENV%
development

Затем я переключил свою версию Python на v3.6 и повторил те же шаги, что и выше ...

При работе в производственном режиме я увидел следующие (ожидаемые) результатыв консоли, которая дает больше информации о том, как работает Flask, чем та же команда, запущенная с использованием Python 3.7:

c:\PROJECTS\flask_app1\services\users>python manage.py run

Serving Flask app "project/__init__.py"
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Затем я установил FLASK_ENV=development и увидел следующий (ожидаемый) вывод:

c:\PROJECTS\flask_app1\services\users>set FLASK_ENV=development

c:\PROJECTS\flask_app1\services\users>python manage.py run
 * Serving Flask app "project/__init__.py" (lazy loading)
 * Environment: development
 * Debug mode: on
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 344-776-722
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Итак, мой вопрос: можно ли использовать Python 3.7 для разработки и обслуживания приложений Flask или Python версии 3.6 является последней поддерживаемой версией - или что-то изменилось в Python 3.7 с точки зрения того, как Flask работает / отображает сообщения о состоянии?

...