【问题标题】:How can I import all my python files in multiple folder hierarchy into a single pyinstaller executable?如何将多个文件夹层次结构中的所有 python 文件导入单个 pyinstaller 可执行文件?
【发布时间】:2020-07-16 13:36:05
【问题描述】:

我正在开发一个基于 PyQT 的 Windows 应用程序。我有很多包含许多 python 文件的文件夹。但是当我尝试使用 pyinstaller python 包创建可执行文件时,无法解析其他文件夹中文件的依赖关系。 为了简单起见,这是我的文件夹结构

gui
    -gui.py
    -main.py
libs
    -testlibs.py
utility
    -folderstructure.py

我使用了命令pyinstaller main.py --onefile 问题是gui.py导入utility.folderstructure,生成exe后无法解决。

exe 抛出无法找到实用程序的执行。

我添加了附加挂钩目录选项。其中我添加了一个名为 hook-gui.py 的文件,其内容为 hiddenimports=[".utility.folderstructure.*"] 现在我的文件夹结构是

gui
    -gui.py
    -main.py
    -hook-gui.py
libs
    -testlibs.py
utility
    -folderstructure.py

但是在运行命令 pyinstaller ----additional-hooks-dir= 时。 main.py --onefile

INFO: 加载模块钩子 hook-gui.py... 警告:未找到隐藏的导入 .utility.folderstructure.*! 弹出此特定错误。

你能告诉我哪里错了吗?

【问题讨论】:

    标签: python import pyqt5 pyinstaller executable


    【解决方案1】:

    通常我会使用类似于以下的布局:

    -main.py
    -gui
        -init.py
        -gui.py
        -hook-gui.py
    -libs
        -init.py
        -testlibs.py
    -utility
        -init.py
        -folderstructure.py
    

    Pyinstaller 总是在这种风格的布局中为我找到模块。

    你只需要调整一些导入。

    【讨论】:

    • 是的,我在运行 pyinstaller 时添加了 --path=" ",它解决了我的问题。谢谢。
    猜你喜欢
    • 2018-12-29
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    相关资源
    最近更新 更多