使用pyinstaller将多个.py文件构建为单个可执行文件

时间:2018-07-21 11:49:44

标签: python pyqt5 exe pyinstaller

我制作了一个由5个和6个.py文件组成的小型pyqt应用程序,现在我要构建它们并将其编译到一个主文件中,这意味着我必须从一个主窗口exe操作它们。我的.py文件彼此成功连接。我已经使用pyinstaller制作了可执行文件,问题是我将每个.py文件都构建到了自己的exe文件中,但是我想制作一个完整的exe文件。 py文件起作用。如何将所有.py文件构建为一个exe文件。我进行了很多搜索,但无法解决问题。

4 个答案:

答案 0 :(得分:3)

假设您有一个名为 create.py 的文件,例如

def square (num)
    return num ** 2 

同一目录中的另一个文件,称为 input.py

from . import create
def take_input():
    x = input("Enter Input")
    return create.square(x)

最后是您的 main.py

from . import input
if __name__ == '__main__':
    ip = input.take_input()

您将调用命令-

pyinstaller --onefile main.py

然后pyinstaller将导入所有文件本身的所有依赖项

答案 1 :(得分:1)

尝试一下:

pyinstaller --onefile main_app.py

答案 2 :(得分:0)

我认为解决方案是编辑.spec文件,然后在spec文件上运行pyinstaller而不是单个.py文件。

您可以在此处找到有关将多个exe作为单个.spec文件添加的信息: https://pyinstaller.readthedocs.io/en/v3.3.1/spec-files.html#multipackage-bundles

答案 3 :(得分:-2)

可以使用C / C ++或C#创建.dll文件并将其添加到exe文件夹。要实现此解决方案,您还可以检查python的c_types。