Python编译脚本给出错误:“无法加载插件:sqlalchemy.dialects:presto”

时间:2018-11-19 03:17:30

标签: python sqlalchemy pyinstaller presto

我使用pyinstaller编译了.py文件,如下所示:

pyinstaller --hidden-import presto --hidden-import scipy._lib.messagestream  --onefile main.py

运行编译文件时,出现错误:

sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:presto

p.s。我使用sqlalchemy.engine连接到presto,例如:

engine = create_engine('presto://presto.service.example.com:8080/hive/default')

我在Google上找不到任何有用的东西。

1 个答案:

答案 0 :(得分:0)

我在Teradata上遇到了类似的问题:

要使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,pasw,hostname),echo=True)
df = pd.read_sql_query(query1,connect)

收件人:

import teradata
user, pasw, hostname = UserName,Password, '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") 

也许从sqlalchemy更改为pyodbc或其他连接选项。