首页 > 解决方案 > Pyinstaller 生成的 exe 无法执行,但脚本一旦直接运行就可以工作

问题描述

我是 Windows 上 pyinstaller 和 python 开发的新手,所以我可能错过了一些明显的东西。当我通过命令行运行它时,我的脚本工作正常(因此它不是 Oracle 客户端或连接字符串的问题),但无法运行 exe 并出现以下错误:

pyodbc.InterfaceError: ('IM003', '[IM003] Specified driver could not be loaded due to system error  1114: A dynamic link library (DLL) initialization routine failed. (Oracle in instantclient_12_2_new, C:\\oracle\\instantclient_12_2_new\\SQORA32.dll). (160) (SQLDriverConnect)')
[684] Failed to execute script update_database

该 exe 是使用以下命令创建的:

pyinstaller --noconfirm --onefile --clean --noupx --win-private-assemblies --hidden-import='pkg_resources.py2_warn' update_database.py

我在 Windows 10 上运行所有这些。

你知道我该往哪个方向调试吗?谢谢!

标签: pythonoraclepyinstallerpyodbc

解决方案


推荐阅读