首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyInstaller不包括sqlalchemy-access模块

PyInstaller不包括sqlalchemy-access模块
EN

Stack Overflow用户
提问于 2020-09-02 05:23:38
回答 1查看 1K关注 0票数 0

我正在尝试将一个Dataframe写回Access数据库文件.mdb.accdb。我正在使用sqlalchemysqlalchemy-access创建一个连接。

代码语言:javascript
复制
import sqlalchemy

db_file_path = os.path.join(dir_path, f"data\\{graph_name}\\results\\{file_name}")
connection_string = (r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};' f"DBQ={db_file_path};" r'ExtendedAnsiSQL=1;')
connection_url = f"access+pyodbc:///?odbc_connect={urllib.parse.quote_plus(connection_string)}"
engine = sqlalchemy.create_engine(connection_url)
text_labels.to_sql('InstTextLabels', engine, index=False, if_exists='append')

我通过pyodbcsqlalchemy-access安装了pip。如果我要在或朱庇特笔记本中运行这个程序,它都能工作。但是,当我用PyInstaller构建一个可执行文件时,我得到:

代码语言:javascript
复制
File "solver.py", line 499, in main
export_results(file_name, graph_name, downstream_low, downstream_high, objective_results, objective_fuses, objective_recloseres, nodes, text_labels, dir_path)
File "solver.py", line 399, in export_results
engine = sqlalchemy.create_engine(connection_url)
File "sqlalchemy\engine\__init__.py", line 500, in create_engine
File "sqlalchemy\engine\strategies.py", line 61, in create
File "sqlalchemy\engine\url.py", line 172, in _get_entrypoint
File "sqlalchemy\util\langhelpers.py", line 267, in load
sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:access.pyodbc
[5880] Failed to execute script solver

我不知道为什么会这样。我的脚本只导入sqlalchemy,但我也在.spec文件中包含了hiddenimports=['sqlalchemy_access', 'pyodbc']。然而,什么也帮不上忙。

EN

回答 1

Stack Overflow用户

发布于 2022-03-30 17:29:56

将这些导入与sqlalchemy一起添加:

代码语言:javascript
复制
import sqlalchemy_access as sa_a
import sqlalchemy_access.pyodbc as sa_a_pyodbc
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63699178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档