python - Flask: cannot import name 'app' -
trying run python file updater.py
ssh server , run commands every few set intervals or so. i'm using apscheduler run function update_printer()
__init__.py
. got working outside of application context error
suggested import app __init__
.py. isn't working out well. keep getting cannot import name 'app'
error.
app.py
from queue_app import app if __name__ == '__main__': app.run(debug=true)
__init__.py
from flask import flask, render_template apscheduler.schedulers.background import backgroundscheduler queue_app.updater import update_printer app = flask(__name__) app.config.from_object('config') @app.before_first_request def init(): sched = backgroundscheduler() sched.start() sched.add_job(update_printer, 'interval', seconds=10) @app.route('/') def index(): return render_template('index.html')
updater.py
import paramiko import json queue_app import app def update_printer(): ssh = paramiko.sshclient() ssh.set_missing_host_key_policy(paramiko.autoaddpolicy()) ssh.connect(app.config['ssh_server'], username = app.config['ssh_username'], password = app.config['ssh_password']) ...
file structure
queue/ app.py config.py queue_app/ __init__.py updater.py
error
traceback (most recent call last): file "app.py", line 1, in <module> queue_app import app file "/users/name/queue/queue_app/__init__.py", line 3, in <module> queue_app.updater import update_printer file "/users/name/queue/queue_app/updater.py", line 3, in <module> queue_app import app importerror: cannot import name 'app'
what need able app.config updater.py , avoid "working outside of application context error" if ran apscheduler?
it's circular dependency, import updater
in __init__.py
file. in flask setup, app
created in app.py
.
Comments
Post a Comment