使用SQLAlchemy填充数据库时遭遇AttributeError: 'str' object has no attribute 'connect'错误求助
各位大佬好!最近在做一个数据填充的小项目,用Python+SQLAlchemy往数据库里导数据,写代码的时候用了之前项目里跑通的老语法,结果这次直接报错了,卡了半天没搞明白问题出在哪,来求个思路!
先贴一下我出问题的代码片段:
with Session(os.environ.get('DATABASE_URI'), future=True) as session, session.begin(): # 这里是具体的数据库填充逻辑,比如创建模型实例、add到session之类的
然后是完整的报错回溯(后面部分截断了,但核心错误是AttributeError: 'str' object has no attribute 'connect'):
Traceback (most recent call last):
File "/home/vacosti/scraper_v2/populate_db.py", line 16, in
with Session(os.environ.get('DATABASE_URI'), future=True) as session, session.begin():
File "/home/vacosti/scraper_v2/svenv/lib/python3.10/site-packages/sqlalchemy/engine/util.py", line 147, in exit
with util.safe_reraise():
File "/home/vacosti/scraper_v2/svenv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 146, in exit
raise exc_value.with_traceback(exc_tb)
File "/home/vacosti/scraper_v2/svenv/lib/python3.10/site-packages/sqlalchemy/engine/util.py", line 145, in exit
self.commit()
File "", line 2, in commit
File "/home/vacosti/scraper_v2/svenv/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.p...
之前用几乎一样的写法在别的项目里完全没问题,这次突然就报字符串没有connect方法的错误,我检查了环境变量里的DATABASE_URI是正确的格式,SQLAlchemy的版本和之前项目也是一致的,实在找不到问题点了。有没有朋友遇到过类似的情况?麻烦指点一下!
备注:内容来源于stack exchange,提问作者vacosti

