简体   繁体   中英

How to build multiple .py files into a single executable file using pyinstaller?

I have made a small PyQt application containing 5-6 .py files. Now I want to build and compile them into a single main file, meaning it has to operate from one main window exe.

My .py files are connected with each other successfully. I have used pyinstaller to make the executable file, but the problem is I built each .py file into its own .exe file. But I want to make a single .exe file through which all the .py files can be used.

How to build all .py files into a single .exe file?

Suppose you had a file called create.py like

def square (num)
    return num ** 2 

Another file in the same directory called input.py

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

And finally your main.py

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

You will call the command -

pyinstaller --onefile main.py

And pyinstaller will import all the dependencies of all the files itself

尝试这个:

pyinstaller --onefile main_app.py

I think the solution is to edit the .spec file and run pyinstaller on the spec file instead of the individual .py files.

You can find information about adding multiple exes to as single .spec file here: https://pyinstaller.readthedocs.io/en/v3.3.1/spec-files.html#multipackage-bundles

Use the Command pyinstaller --onefile yourprogramname.py . Pyinstaller will Automatically import and Compile the Dependency Files.

I have made a small pyqt application of 5 and 6 .py files.Now I want to build them and compiled them in a single main file.Mean I have to operate them from one main window exe. My .py files are connected with each other successfully.I have used pyinstaller to make the executable file, the problem is I have build each .py file into its own exe file.But I want to make a single exe file through which whole.py files operate.How to build all .py files into a single exe file.I have searched a lot but unable to resolve my issue.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM