Création d'un fichier exe avec Python PyInstaller: le PC se fige dans le traitement parallèle

Le PC se bloque lors de l'exécution du traitement parallèle Python avec exe

Environnement d'exécution

・ Windodws10 ・ Python 3.8.3 ・ PyInstaller 3.6

Lorsque le traitement parallèle qui n'est pas possible lorsqu'il est exécuté à partir de la console est transformé en un fichier exe avec PyInstaller et cliqué, de nombreux processus exe démarrent et le PC se bloque. Désespoir

Conclusion

Nécessite freeze_support ()

Exemple de traitement parallèle Python qui fige le PC lorsqu'il est exécuté avec un fichier exe

Échantillon de traitement parallèle



from multiprocessing import Pool 

#####Dans ce cas, une fonction qui renvoie le carré de l'argument###
def nijou(x):
    print( x*x )
 
######Calculons en parallèle#########
if __name__ == "__main__":
    p = Pool(4)
    p.map( nijou, range(10) )

J'avais besoin d'écrire freeze_support ()

Cette fonction doit être appelée immédiatement après si name == '__ main__' dans le module principal S'il n'y a pas de ligne freeze_support (), RuntimeError lors de la tentative d'exécution d'un exécutable gelé Arrivera L'appel de freeze_support () n'a aucun effet sur les systèmes d'exploitation non Windows. De plus, freeze_support () n'a aucun effet si le module est exécuté par un interpréteur Windows Python standard (sauf si le programme est gelé).

Référence ici - traitement parallèle basé sur des processus multiprocesseurs

Ne gèle pas même lorsqu'il est exécuté avec exe



from multiprocessing import Pool,freeze_support
#freeze_Ajouter un support

#####Dans ce cas, une fonction qui renvoie le carré de l'argument###
def nijou(x):
    print( x*x )
 
######Calculons en parallèle#########
if __name__ == "__main__":
    freeze_support() #Ajoutée
    p = Pool(4)
    p.map( nijou, range(10) )

Recommended Posts

Création d'un fichier exe avec Python PyInstaller: le PC se fige dans le traitement parallèle
[Python Kivy] Comment créer un fichier exe avec pyinstaller
Créez un fichier exe qui fonctionne dans un environnement Windows sans Python avec PyInstaller
Traitement de fichiers en Python
Traitement parallèle sans signification profonde en Python
Introduction au traitement parallèle distribué Python par Ray
Créer un œuf avec python
Lire des fichiers en parallèle avec Python
Créer un exe Scrapy avec Pyinstaller
Lorsque j'exécute le fichier exe avec pyinstaller, mon PC se bloque.
Convertir un script Python écrit dans PyTorch en exe avec PyInstaller
Créer un fichier power simple avec Python
Contrôle exclusif avec fichier de verrouillage en Python
Méthode de mise à jour automatique par python Pyinstaller exe
Comment convertir Python en fichier exe
Remarques lors de la création d'un environnement avec python
Créez rapidement un fichier Excel avec Python #python
Traitez facilement des images en Python avec Pillow
Recevez une liste des résultats du traitement parallèle en Python avec starmap
Comment faire un traitement parallèle multicœur avec python
Lire les données de la table dans un fichier PDF avec Python
[Automation] Convertissez le code Python en fichier exe
Traitement de fichiers Python
Développer des applications Windows avec Python 3 + Tkinter (fichier exe)
Créer une image avec des caractères avec python (japonais)
Fichier d'exécution GUI (WxPython) (pyInstaller) [Windows] dans Python3
Envoyer un e-mail avec Excel en pièce jointe en Python
Faire de chaque page PowerPoint un fichier image en Python
Créer un environnement pour le traitement du langage naturel avec Python
Mémorandum PyInstaller Convertit Python [.py] en [.exe] avec 2 lignes
Exécuter un fichier Python avec une importation relative dans PyCharm
Opérations sur les fichiers en Python
Traitement multithread en python
Téléchargement parallèle avec Python
Traitement de texte avec Python
Traitement des requêtes en Python
Manipulation de fichiers avec Python
Traitement d'image avec Python
Traitement parallèle avec multitraitement
Essayez de créer le format de fichier DeepZoom .DZI en Python
Authentification de base avec mot de passe crypté (.htpasswd) avec bouteille en python
Sélectionnez le fichier dans la boîte de dialogue avec python → Afficher le nom du fichier dans la boîte de message
Comment lire un fichier Excel (.xlsx) avec Pandas [Python]
Traitement d'image avec Python (partie 2)
100 coups de traitement du langage avec Python 2015
Traitement de texte UTF8 avec python
Tri rapide d'un tableau en Python 3
Traitement parallèle avec des fonctions locales
Grattage au sélénium en Python
"Traitement Apple" avec OpenCV3 + Python3
Exploitez LibreOffice avec Python
Débogage avec pdb en Python
Exécuter Python unittest en parallèle
Dessiner un fichier netCDF avec python
Traitement du signal acoustique avec Python
Gérer les sons en Python
Traitement parallèle avec Parallel de scikit-learn
Traitement d'image avec Python (partie 1)