gpt4 book ai didi

pyinstaller - 在 PyInstaller 分析中确定是什么导入触发了一个 dll

转载 作者:行者123 更新时间:2023-12-04 02:36:34 28 4
gpt4 key购买 nike

我想弄清楚为什么 PyInstaller 一直包含 PyQt 的 Windows dll 文件,即使我的应用程序不使用 PyQt。所以,我想知道如何确定 为什么 PyInstaller 认为 PyQt 是必要的,或者更一般地说,我的应用程序中的哪些 .py 文件导致完成构建中的哪些 dll 文件。

我目前在 Windows 机器上使用 PyInstaller 2.1 并构建一个仅具有以下依赖项的命令行应用程序:

  • numpy==1.8.0
  • numexpr==2.3.1
  • 赛通==0.20.1
  • scipy==0.13.3
  • scikit-image==0.9.3
  • 表==3.1.1
  • 狮身人面像==1.2.1
  • pylint==1.1.0
  • pytest==2.5.2
  • pytest-cov==1.6
  • rst2pdf==0.93.dev
  • 线路分析器==1.0b3
  • ipython==2.1.0

我认为除了 IPython 之外,这些都不需要 PyQt。然而,我不确定 IPython 是否真的在运行时导入 PyQt。也有在主要的 IPython/init.py 中跟踪许多导入。

我手动编辑了我的 PyInstaller 规范文件以将 PyQt4 添加到 Analysis排除。这似乎工作得很好,但我不想手动编辑它每次构建时都会生成 .spec 文件。我更愿意弄清楚为什么 PyQt4 是无论如何都包括在内?

此外,值得注意的是,包括 PyQt4 不一定会造成任何伤害,但它确实使我的最终分发目录比我的要大很多认为这是必要的。

最佳答案

您可以通过运行带有 --log-level DEBUG 的 pyinstaller 查看所有导入的详细 View 、什么触发了要包含的内容等。参数并查看 build\<exe_name>\xref-<exe_name_>.html文件。

如果您运行的是 Pyinstaller 3.3 或更高版本,则无论日志级别如何,都会始终写入此文件。 Pyinstaller 3.3 release notes

关于pyinstaller - 在 PyInstaller 分析中确定是什么导入触发了一个 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24661856/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com