Hi Guys,
I'm getting the below exceptions/errors.
**sqlite3.OperationalError: unable to open database file
**NO MATCH**
The above exception was the direct cause of the following exception:
**NO MATCH****
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/lib/python3.7/site-packages/flask_restful/__init__.py", line 480, in wrapper
resp = resource(*args, **kwargs)
File "/usr/lib/python3.7/site-packages/flask/views.py", line 88, in view
return self.dispatch_request(*args, **kwargs)
File "/usr/lib/python3.7/site-packages/flask_restful/__init__.py", line 595, in dispatch_request
resp = meth(*args, **kwargs)
File "/home/collardesolate/mysite/resources/item.py", line 23, in post
if ItemModel.find_by_name(name):
File "/home/collardesolate/mysite/models/item.py", line 19, in find_by_name
return ItemModel.query.filter_by(name=name).first()
File "/usr/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 2888, in first
ret = list(self[0:1])
File "/usr/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 2680, in __getitem__
return list(res)
File "/usr/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 2988, in __iter__
return self._execute_and_instances(context)
File "/usr/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3009, in _execute_and_instances
close_with_result=True)
File "/usr/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3018, in _get_bind_args
**kw
File "/usr/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3000, in _connection_from_session
conn = self.session.connection(**kw)
File "/usr/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1035, in connection
execution_options=execution_options)
File "/usr/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1040, in _connection_for_bind
engine, execution_options)
File "/usr/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 409, in _connection_for_bind
conn = bind.contextual_connect()
File "/usr/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2123, in contextual_connect
self._wrap_pool_connect(self.pool.connect, None),
File "/usr/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2162, in _wrap_pool_connect
e, dialect, self)
File "/usr/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1476, in _handle_dbapi_exception_noconnection
exc_info
File "/usr/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 265, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 248, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
return fn()
File "/usr/lib/python3.7/site-packages/sqlalchemy/pool.py", line 403, in connect
return _ConnectionFairy._checkout(self)
File "/usr/lib/python3.7/site-packages/sqlalchemy/pool.py", line 791, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "/usr/lib/python3.7/site-packages/sqlalchemy/pool.py", line 532, in checkout
rec = pool._do_get()
File "/usr/lib/python3.7/site-packages/sqlalchemy/pool.py", line 1287, in _do_get
return self._create_connection()
File "/usr/lib/python3.7/site-packages/sqlalchemy/pool.py", line 350, in _create_connection
return _ConnectionRecord(self)
File "/usr/lib/python3.7/site-packages/sqlalchemy/pool.py", line 477, in __init__
self.__connect(first_connect_check=True)
File "/usr/lib/python3.7/site-packages/sqlalchemy/pool.py", line 674, in __connect
connection = pool._invoke_creator(self)
File "/usr/lib/python3.7/site-packages/sqlalchemy/engine/strategies.py", line 106, in connect
return dialect.connect(*cargs, **cparams)
File "/usr/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 412, in connect
return self.dbapi.connect(*cargs, **cparams)
**sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file (Background on this error at: http://sqlalche.me/e/e3q8)**
This is my app code:
from flask import Flask
from flask_restful import Api
from flask_jwt import JWT
from security import authenticate, identity
from resources.user import UserRegister
from resources.item import Item, ItemList
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///home/collardesolate/mysite/data.db"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
app.secret_key = "****"
api = Api(app)
jwt = JWT(app, authenticate, identity)
api.add_resource(Item, "/item/<string:name>")
api.add_resource(ItemList, "/items")
api.add_resource(UserRegister, "/register")
from db import db
db.init_app(app)
if __name__ == "__main__":
app.run(debug=True)
Now I'm aware that code within if name == "main": won't run on Pythonanywhere so i deliberately moved
db import db db.init_app(app)
to above it, outside that call and it still isn't working (threw up this error message in the title). as you can see, I have also put the full file path to my DB file.
PythonAnywhere staff feel free to inspect my files. I have played with this for an hour, looked on Google etc and nothing I did worked.
Thank you in advance!