我试图找出PyInstaller为PyQt保留包含Windows dll文件的原因,即使我的应用程序没有使用PyQt。所以,我想知道如何确定为什么 PyInstaller认为PyQt是必要的,或者更普遍的是我的应用程序中的.py文件导致完成构建中的dll文件。
我目前在Windows机器上使用PyInstaller 2.1并构建一个仅具有以下依赖关系的命令行应用程序:
我认为除了IPython之外,其中任何一个都严格要求PyQt。然而, 我不确定IPython是否真的在运行时导入PyQt。也有 要在主要的IPython / init .py。
中追踪许多导入我手动编辑了PyInstaller spec文件,将PyQt4添加到Analysis中 排除。这似乎工作得很好,但我不想手动编辑它 每次我进行构建时都会生成spec文件。我更喜欢弄清楚PyQt4的原因 包括在内?
此外,值得注意的是,包含PyQt4并不一定会伤害任何东西, 但它确实使我的最终分发目录比我大一点 认为它需要。
答案 0 :(得分:0)
通过使用--log-level DEBUG
参数运行pyinstaller并查看build\<exe_name>\xref-<exe_name_>.html
文件,您可以看到所有导入的详细视图,触发了包含内容的内容等。
如果您正在运行Pyinstaller 3.3或更高版本,则无论日志级别如何,都将始终写入此文件。 Pyinstaller 3.3 release notes