学而时习之,不亦乐乎。
python3调用oracle的工具类,附问题解析及打包过程
普通py命令打包时,错误提示:
注意
原因分析
这个打包后出现该报错原因就是没有将这个tkinterdnd2库打包进exe文件中
相关信息
PyInstaller 命令
将使用以下命令来打包 Python 脚本 vv6.py,同时包含 tkinterdnd2 和 tkdnd 库
pypyinstaller -F -w -i a.ico vv6.py --paths C:\Python312\lib\site-packages --add-data "C:\Python312\Lib\site-packages\tkinterdnd2;tkinterdnd2"
提示
参数说明
-F:将所有依赖打包成一个单独的可执行文件。
vv5.py:你的 Python 脚本。
--paths D:\python39\lib\site-packages:指定 Python 库路径。
--add-data "D:\python39\lib\site-packages\tkinterdnd2;tkinterdnd2":将 tkinterdnd2 库添加到打包文件中。注意路径格式为 "源路径;目标路径",在 Windows 上使用分号 ; 分隔。
--add-data "D:\python39\lib\site-packages\tkdnd;tkdnd":将 tkdnd 库添加到打包文件中。
--hidden-import=tkinterdnd2:显式指定 tkinterdnd2 作为隐藏导入。
--hidden-import=tkdnd:显式指定 tkdnd 作为隐藏导入。
--clean:清除 PyInstaller 使用的临时文件和缓存。
调试信息:
如果在打包过程中遇到问题,可以将输出重定向到一个日志文件中,以便详细检查:
> build_log.txt 2>&1
这样所有输出(包括错误信息)都会保存到 build_log.txt 文件中,你可以查看该文件以获取详细的调试信息。
普通py命令打包时,错误提示:缺少OracleClient依赖。
https://www.oracle.com/sg/database/technologies/instant-client/winx64-64-downloads.html
注意
一、运行时需将dll文件放入python.exe同级文件夹
二、打包时需将dll文件放入打包文件夹有exe执行文件目录下即可
然后重新执行打包运行文件
打包同样要注意每个模块的版本一致性哦,如果你放的 OracleClient 版本跟本地 Python 或者 Cx-Oracle 版本不一致同样会报错
提示
shpy打包命令 (C:\Python312\python.exe)
pyinstaller -F -i a.ico vv5.py
pyinstaller -F -w -i a.ico vv5.py
pyinstaller -F -w -i a.ico vv6.py --paths C:\Python312\lib\site-packages --add-data "C:\Python312\Lib\site-packages\tkinterdnd2;tkinterdnd2" --hidden-import=tkinterdnd2 --hidden-import=tkdnd --clean > build_log.txt 2>&1
pyinstaller -F -w -i a.ico vv6.py --paths C:\Python312\lib\site-packages --add-data "C:\Python312\Lib\site-packages\tkinterdnd2;tkinterdnd2" --hidden-import=tkinterdnd2 --hidden-import=tkdnd --clean
pyinstaller -F -w -i a.ico vv6.py --paths C:\Python312\lib\site-packages --add-data "C:\Python312\Lib\site-packages\tkinterdnd2;tkinterdnd2" --add-data "C:\Python312\Lib\site-packages\*.dll;." --clean
More info call: 微信/企业微信/钉钉/QQ/手机号(都没有 就不给)
本文作者:木白非白
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!