首页 > 解决方案 > sqllite argumentError 绝对路径

问题描述

我正在尝试使用 Windows 创建一个 sqlite 数据库,但出现错误“ArgumentError: Invalid SQLite URL: sqlite://search.db” 创建 SQL lite db 的绝对路径语法是什么。

'sqlite://C:/Users..../search.db'

>>> from flaskapp import db
C:\Users\champ\Python_proj\main_env\lib\site-packages\flask_sqlalchemy\__init__.py:833: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True or False to suppress this warning.
  warnings.warn(FSADeprecationWarning(
>>> db.create_all()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\champ\Python_proj\main_env\lib\site-packages\flask_sqlalchemy\__init__.py", line 1039, in create_all
    self._execute_for_all_tables(app, bind, 'create_all')
  File "C:\Users\champ\Python_proj\main_env\lib\site-packages\flask_sqlalchemy\__init__.py", line 1031, in _execute_for_all_tables
    op(bind=self.get_engine(app, bind), **extra)
  File "C:\Users\champ\Python_proj\main_env\lib\site-packages\flask_sqlalchemy\__init__.py", line 962, in get_engine
    return connector.get_engine()
  File "C:\Users\champ\Python_proj\main_env\lib\site-packages\flask_sqlalchemy\__init__.py", line 556, in get_engine
    self._engine = rv = self._sa.create_engine(sa_url, options)
  File "C:\Users\champ\Python_proj\main_env\lib\site-packages\flask_sqlalchemy\__init__.py", line 972, in create_engine
    return sqlalchemy.create_engine(sa_url, **engine_opts)
  File "C:\Users\champ\Python_proj\main_env\lib\site-packages\sqlalchemy\engine\__init__.py", line 488, in create_engine
    return strategy.create(*args, **kwargs)
  File "C:\Users\champ\Python_proj\main_env\lib\site-packages\sqlalchemy\engine\strategies.py", line 98, in create
    (cargs, cparams) = dialect.create_connect_args(u)
  File "C:\Users\champ\Python_proj\main_env\lib\site-packages\sqlalchemy\dialects\sqlite\pysqlite.py", line 466, in create_connect_args
    raise exc.ArgumentError(
sqlalchemy.exc.ArgumentError: Invalid SQLite URL: sqlite://search.db
Valid SQLite URL forms are:
 sqlite:///:memory: (or, sqlite://)
 sqlite:///relative/path/to/file.db
 sqlite:////absolute/path/to/file.db

标签: sqliteflask-sqlalchemy

解决方案


推荐阅读