如何解决sqlalchemy.exc.NoSuchModuleError:无法加载插件:sqlalchemy.dialects:teradatasql [10076] 无法执行脚本 pyinstalletest
我正在尝试创建一个将一些数据导入到 teradata 的 exe。作为测试脚本,我正在尝试使用以下代码连接 Teradata。我可以在本地成功连接。
from sqlalchemy import create_engine
user = 'dbc'
pasw=user
host = '192.168.1.7'
# connect
td_engine = create_engine('teradatasql://'+ user +':' + pasw + '@'+ host + '')
sql="select * from dbc.usersV"
x=td_engine.execute(sql)
我已经使用下面的命令生成了 exe。
pyinstaller --add-binary "C:\Users\krishna\AppData\Local\Programs\Python\Python38\Lib\site-packages\teradatasql\teradatasql.dll;teradatasql" -F pyinstalletest.py
生成 exe 后,我正在尝试执行该 exe,但出现以下错误。
Traceback (most recent call last):
File "pyinstalletest.py",line 8,in <module>
File "sqlalchemy\engine\__init__.py",line 479,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:teradatasql
[10076] Failed to execute script pyinstalletest
我浏览了各种链接,但没有运气。请帮我解决错误。
解决方法
这里已经回答了类似的问题:Source
让 Teradata 查询在 Pyinstaller 生成的 .exe 上运行。我将引擎从 SQLAlchemy 更改为 Teradata
来自:
import sqlalchemy as sa
user,pasw,hostname = UserName,Password,'myurl.com'
# connect
td_engine = sa.create_engine('teradata://{}:{}@{}:22/'.format(user,hostname),echo=True)
df = pd.read_sql_query(query1,connect)
致:
import teradata
user,'myurl.com'
td = teradata.UdaExec (appName="test",version="1.0",logConsole=True)
td_engine = td.connect(method="odbc",system=hostname,username=user,password=pasw,driver="Teradata")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。