我用 pyexiv2 和 pyqt5 写了一个很简单的 demo ,想试一下这个打包,但是我发现在 macbook 里很容易就打出来了,把 pyexiv2 依赖的动态库 exiv2.dll 和 lib/exiv2api.dylib 加载进去就可以了,但是在 windows 下却有问题。
问题并不是打包失败或者运行报错,而是有时候可以有时候不行。不行的时候也不报错,而是就是好像跳过那一行直接返回了。
![]() | 1 3085570450tt 258 天前 windows 上是不是缺少 pyexiv2 需要的 dll ? https://github.com/LeoHsiao1/pyexiv2/blob/master/docs/Tutorial-cn.md#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 再推荐一个工具,nuitka, https://github.com/Nuitka/Nuitka |
2 fbichijing 258 天前 你在命令行打开 .exe 程序就能看见报什么错了。 |
3 dx2r 257 天前 |
img src="https://cdn.v2ex.com/avatar/3d1e/1376/443973_normal.png?m=1635404601" class="avatar" border="0" align="default" alt="balabalaXMX" data-uid="443973" /> | 4 balabalaXMX OP @3085570450tt add-binary 都加了的,奇怪的是如果缺了 dll ,不应该报错吗? 什么错都没有,只是鼠标转一下,什么反应也没有,软件也能接着用,没有任何地方卡住。但就是没有按照代码逻辑执行。 |
![]() | 5 balabalaXMX OP @fbichijing 是在命令行里打开的,没报任何错。 |
![]() | 6 balabalaXMX OP @3085570450tt 能问下 nuitka 这个相对于 pyinstaller 的优势是什么吗? 我简单试了下,感觉差不多。 |
![]() | 7 3085570450tt 257 天前 @balabalaXMX 那你试试添加一点 log 输出看看,这种情况我基本没遇到过。 对于 pyinstaller 的优势是它将 python 的代码编译成 c++, 然后可执行文件的大小比 pyinstaller 小,然后代码反编译难度高这些。 https://nuitka.net/ 这是官方文档,如果还希望更加深入了解的话,可以去看看。某乎上有个大佬:python 与摸具,对这个 nuitka 写了不少文档,他解释的应该比我更好 |
![]() | 8 cosven 247 天前 @3085570450tt 一看 Nuitka ,再看 ID 。果然是“熟人”。 |
![]() | 9 cosven 247 天前 LZ 的问题听起来不像是打包的问题呀,更像是程序代码的问题? 我在 http://github.com/feeluown/FeelUOwn 这个项目用了 Pyinstaller 。遇到过一些打包相关的问题,但不会出现这种“偶现”的问题。 |