Извлечение из Flask Web Development 17.4.2 и использование локального теста Heroku при выполнении развертывания heroku local: run flask
произошли следующие ошибки:
Traceback (most recent call last):
File "C:\Users\KodX\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\KodX\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "F:\flasky\venv\Scripts\flask.exe\__main__.py", line 9, in <module>
File "f:\flasky\venv\lib\site-packages\flask\cli.py", line 894, in main
cli.main(args=args, prog_name=name)
File "f:\flasky\venv\lib\site-packages\flask\cli.py", line 557, in main
return super(FlaskGroup, self).main(*args, **kwargs)
File "f:\flasky\venv\lib\site-packages\click\core.py", line 717, in main
rv = self.invoke(ctx)
File "f:\flasky\venv\lib\site-packages\click\core.py", line 1132, in invoke
cmd_name, cmd, args = self.resolve_command(ctx, args)
File "f:\flasky\venv\lib\site-packages\click\core.py", line 1171, in resolve_command
cmd = self.get_command(ctx, cmd_name)
File "f:\flasky\venv\lib\site-packages\flask\cli.py", line 515, in get_command
rv = info.load_app().cli.get_command(ctx, name)
File "f:\flasky\venv\lib\site-packages\flask\cli.py", line 377, in load_app
raise_if_not_found=False)
File "f:\flasky\venv\lib\site-packages\flask\cli.py", line 254, in locate_app
return find_best_app(script_info, module)
File "f:\flasky\venv\lib\site-packages\flask\cli.py", line 76, in find_best_app
app = call_factory(script_info, app_factory)
File "f:\flasky\venv\lib\site-packages\flask\cli.py", line 114, in call_factory
return app_factory(script_info)
File "F:\flasky\app\__init__.py", line 22, in create_app
app.config.from_object(config[config_name])
KeyError: <flask.cli.ScriptInfo object at 0x00000191FA23ABA8>
__init__.py
from flask import Flask
from flask_bootstrap import Bootstrap
from flask_mail import Mail
from flask_moment import Moment
from flask_sqlalchemy import SQLAlchemy
from flask_login import LoginManager
from flask_pagedown import PageDown
from config import config
bootstrap = Bootstrap()
mail = Mail()
moment = Moment()
db = SQLAlchemy()
pagedown = PageDown()
login_manager = LoginManager()
login_manager.login_view = 'auth.login'
def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
config[config_name].init_app(app)
bootstrap.init_app(app)
mail.init_app(app)
moment.init_app(app)
db.init_app(app)
login_manager.init_app(app)
pagedown.init_app(app)
if app.config['SSL_REDIRECT']:
from flask_sslify import SSLify
sslify = SSLify(app)
from .main import main as main_blueprint
app.register_blueprint(main_blueprint)
from .auth import auth as auth_blueprint
app.register_blueprint(auth_blueprint, url_prefix='/auth')
from .api import api as api_blueprint
app.register_blueprint(api_blueprint, url_prefix='/api/v1')
return app
Версия среды Подробности
Operating System: Windows 10
Python:3.7
Flask: 1.0.2
Справочные издания
Flask Web Development Version 2 17.4.2 использует локальный тест Heroku
В Heroku CLI есть локальная команда, которая тестирует приложения локально в средах, очень близких к серверам Heroku. Однако при локальном запуске приложений переменные среды, такие как FLASK_APP, больше не являются переменными среды. Локальная команда heroku ищет переменные среды, которые настраивают приложение в. env файл в верхнем каталоге приложения. Например, Файл env может содержать следующие переменные:
FLASK_APP=flasky.py
FLASK_CONFIG=heroku
MAIL_USERNAME=
MAIL_PASSWORD=
С. Файл env содержит пароли и другую конфиденциальную информацию об учетной записи, не включайте ее в систему контроля версий.
Задачи развертывания и создания базы данных выполняются до запуска приложения. Однократные задачи можно запустить с помощью команды local: run:
(venv) $heroku local: run flask deploy
[OKAY] Loaded ENV.env File as KEY = VALUE Format
INFO Context impl SQLiteImpl.
INFO Will assume non-transactional DDL.
INFO Running upgrade - > 38c4e85512a9, initial migration
INFO Running upgrade 38c4e85512a9 - > 456a945560f6, login support
INFO Running upgrade 456a945560f6 - > 190163627111, account confirmation
INFO Running upgrade 190163627111 - > 56ed7d33de8d, user roles
INFO Running upgrade 56ed7d33de8d - > d66f086b258, user information
INFO Running upgrade d66f086b258 - > 198b0eebcf9, caching of avatar hashes
INFO Running upgrade 198b0eebcf9 - > 1b966e7f4b9e, post model
INFO Running upgrade 1b966e7f4b9e - > 288cd3dc5a8, rich text posts
INFO Running upgrade 288cd3dc5a8 - > 2356a38169ea, followers
INFO Running upgrade 2356a38169ea - > 51f5ccfba190, comments