web-dev-qa-db-fra.com

Créez plusieurs fichiers .py en un seul fichier exécutable à l'aide de pyinstaller

J'ai fait une petite application pyqt de 5 et 6 fichiers .py.Maintenant, je veux les construire et les compiler dans un seul fichier principal.Par conséquent, je dois les faire fonctionner à partir d'une seule fenêtre principale. Mes fichiers .py sont connectés les uns aux autres avec succès.J'ai utilisé pyinstaller pour créer le fichier exécutable, le problème est que j'ai construit chaque fichier .py dans son propre fichier exe.Mais je veux créer un seul fichier exe à travers lequel l'ensemble. fichiers py fonctionnent.Comment construire tous les fichiers .py dans un seul fichier exe.J'ai beaucoup cherché mais je ne peux pas résoudre mon problème.

7
Nabeel Ayub

Supposons que vous ayez un fichier appelé create.py comme

def square (num)
    return num ** 2 

Un autre fichier dans le même répertoire appelé input.py

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

Et enfin votre main.py

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

Vous appellerez la commande -

pyinstaller --onefile main.py

Et pyinstaller importera toutes les dépendances de tous les fichiers lui-même

5
Sushant

Essaye ça:

pyinstaller --onefile main_app.py
2
Agile_Eagle

Je pense que la solution consiste à modifier le fichier .spec et à exécuter pyinstaller sur le fichier spec au lieu des fichiers .py individuels.

Vous pouvez trouver des informations sur l'ajout de plusieurs exes en tant que fichier .spec unique ici: https://pyinstaller.readthedocs.io/en/v3.3.1/spec-files.html#multipackage-bundles

0
Techniquab