flask-mdict icon indicating copy to clipboard operation
flask-mdict copied to clipboard

请问新版sqlite3.OperationalError如何解决

Open AnabasisXu opened this issue 4 years ago • 3 comments

F:\Programs\Mdx\mdict-utils\New folder λ flask run

  • Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
  • Debug mode: off Traceback (most recent call last): File "c:\program files\python3.8\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\program files\python3.8\lib\runpy.py", line 87, in run_code exec(code, run_globals) File "C:\Program Files\Python3.8\Scripts\flask.exe_main.py", line 7, in File "c:\program files\python3.8\lib\site-packages\flask\cli.py", line 967, in main cli.main(args=sys.argv[1:], prog_name="python -m flask" if as_module else None) File "c:\program files\python3.8\lib\site-packages\flask\cli.py", line 586, in main return super(FlaskGroup, self).main(*args, **kwargs) File "c:\program files\python3.8\lib\site-packages\click\core.py", line 782, in main rv = self.invoke(ctx) File "c:\program files\python3.8\lib\site-packages\click\core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "c:\program files\python3.8\lib\site-packages\click\core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "c:\program files\python3.8\lib\site-packages\click\core.py", line 610, in invoke return callback(*args, **kwargs) File "c:\program files\python3.8\lib\site-packages\click\decorators.py", line 73, in new_func return ctx.invoke(f, obj, *args, **kwargs) File "c:\program files\python3.8\lib\site-packages\click\core.py", line 610, in invoke return callback(*args, **kwargs) File "c:\program files\python3.8\lib\site-packages\flask\cli.py", line 848, in run_command app = DispatchingApp(info.load_app, use_eager_loading=eager_loading) File "c:\program files\python3.8\lib\site-packages\flask\cli.py", line 305, in init self._load_unlocked() File "c:\program files\python3.8\lib\site-packages\flask\cli.py", line 330, in _load_unlocked self.app = rv = self.loader() File "c:\program files\python3.8\lib\site-packages\flask\cli.py", line 392, in load_app app = locate_app(self, import_name, None, raise_if_not_found=False) File "c:\program files\python3.8\lib\site-packages\flask\cli.py", line 257, in locate_app return find_best_app(script_info, module) File "c:\program files\python3.8\lib\site-packages\flask\cli.py", line 83, in find_best_app app = call_factory(script_info, app_factory) File "c:\program files\python3.8\lib\site-packages\flask\cli.py", line 119, in call_factory return app_factory() File "F:\Programs\Mdx\mdict-utils\New folder\app.py", line 30, in create_app init_app(app, url_prefix='/') File "F:\Programs\Mdx\mdict-utils\New folder\flask_mdict_init.py", line 44, in init_app helper.init_flask_mdict() File "F:\Programs\Mdx\mdict-utils\New folder\flask_mdict\helper.py", line 141, in init_flask_mdict db = sqlite3.connect(db_name) sqlite3.OperationalError: unable to open database file

AnabasisXu avatar Nov 07 '20 23:11 AnabasisXu

I guess you have no file write permission. git pull to get latest version and try again and check setting "app_db" in app.config

    app.config['APP_DB'] = os.path.join(mdict_dir, 'flask_mdict.db')

liuyug avatar Nov 07 '20 23:11 liuyug

Yes I find this line: app.config['APP_DB'] = os.path.join(mdict_dir, 'flask_mdict.db') I have zero experience with flask, so I am not sure how to make the database file accessible, for as far as I know they are not run by other programs.

AnabasisXu avatar Nov 08 '20 13:11 AnabasisXu

def create_app(mdict_dir='content'): mdict_dir = your_mdict dictionary

add above line mdict_dir = your_mdict dictionary and I think you can write any file in your mdict dictionary

liuyug avatar Nov 09 '20 01:11 liuyug