sqlalchemy - sqlalchemy.exc.NoInspectionAvailable:没有检查系统可用于对象类型
问题描述
我遵循了这个例子,但使用了 aiosqlite:https ://docs.sqlalchemy.org/en/14/tutorial/metadata.html#table-reflection
喜欢:
import asyncio
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
from sqlalchemy import MetaData
from sqlalchemy import Table, Column, Integer, String
metadata = MetaData()
engine = create_async_engine(
"sqlite+aiosqlite:////Users/rui/database.db",
echo=True,
future=True,
)
# Table Reflection (Loading existing table)
users = Table("users", metadata, autoload_with=engine)
然后我有这个错误:
File "/usr/local/Caskroom/miniconda/base/envs/playground/lib/python3.9/site-packages/sqlalchemy/util/deprecations.py", line 298, in warned
return fn(*args, **kwargs)
File "/usr/local/Caskroom/miniconda/base/envs/playground/lib/python3.9/site-packages/sqlalchemy/sql/schema.py", line 597, in __new__
metadata._remove_table(name, schema)
File "/usr/local/Caskroom/miniconda/base/envs/playground/lib/python3.9/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
compat.raise_(
File "/usr/local/Caskroom/miniconda/base/envs/playground/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
raise exception
File "/usr/local/Caskroom/miniconda/base/envs/playground/lib/python3.9/site-packages/sqlalchemy/sql/schema.py", line 592, in __new__
table._init(name, metadata, *args, **kw)
File "/usr/local/Caskroom/miniconda/base/envs/playground/lib/python3.9/site-packages/sqlalchemy/sql/schema.py", line 667, in _init
self._autoload(
File "/usr/local/Caskroom/miniconda/base/envs/playground/lib/python3.9/site-packages/sqlalchemy/sql/schema.py", line 700, in _autoload
insp = inspection.inspect(autoload_with)
File "/usr/local/Caskroom/miniconda/base/envs/playground/lib/python3.9/site-packages/sqlalchemy/inspection.py", line 71, in inspect
raise exc.NoInspectionAvailable(
sqlalchemy.exc.NoInspectionAvailable: No inspection system is available for object of type <class 'sqlalchemy.ext.asyncio.engine.AsyncEngine'>
python-BaseException
Process finished with exit code 1
我正在使用 Python 3.9.2、sqlalchemy==1.4.5 和 aiosqlite==0.17.0
我应该换aiosqlite
另一个吗?还是我应该等到 sqlalchemy 中的 asyncio 得到改进?
解决方案
推荐阅读
- android - 与管道的持续集成
- python - 为什么 matplotlib 会为我绘制叠加旧图形的新图形?
- angular - Express 服务器未部署 Angular 8 应用程序
- email - 无法从 GCP 主机发送电子邮件
- android - 我的全屏应用程序在杀死它并重新启动后切换到较低的分辨率
- c# - 无法加载文件或程序集“System.Diagnostics.StackTrace”或其依赖项之一
- jquery - 如何为特定列上的每个表格单元格使用 Jquery Mask Money?
- python - 如何在 or-tools 中定义复杂的目标函数?
- php - 通过 SSL 循环调用 PHP 文件的问题
- r - 根据行中的另一个变量删除具有相同值的行