Я изучаю 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 работает / отображает сообщения о состоянии?