[Automation] Convertissez le code Python en fichier exe

Comment distribuer du code Python?

Si vous voulez que d'autres personnes utilisent un programme écrit en Python, comment le distribuer est un problème.

Par exemple, disons que vous avez écrit un programme dans Anaconda (Jupyter Notebook) qui automatise le travail de bureau. Si vous êtes gentil, j'aimerais que vous l'utilisiez non seulement pour vous-même mais aussi pour ceux qui vous entourent. Cependant, Anaconda n'est pas toujours installé au travail et tout le monde ne connaît pas le programme. ** Anaconda? Qu'est-ce qu'un serpent? Même si vous expliquez à quelqu'un comme ** "D'abord, lancez Jupyter Notebook, sélectionnez le fichier ipynb ...", c'est une bonne idée de se mettre en colère.

Un clic si Python est converti en exe!

Si vous convertissez le code Python en ** fichier exe (fichier exe) **, vous pouvez l'exécuter en un seul clic. Cela permet aux personnes qui ne sont pas familières avec le programme de le faire.

Ici, je vais vous expliquer comment convertir un programme Python écrit en Anaconda (Juypter Notebook) en un fichier exe. Le flux général est le suivant.

procédure

  1. Installez pyinstaller
  2. Préparez un fichier .py
  3. Ouvrez Anaconda Prompt et accédez à l'emplacement du fichier .py
  4. Transformez le fichier .py en fichier exe avec la commande pyinstaller
  5. Exécutez le fichier exe et vérifiez l'opération

1. Installez pyinstaller

Il existe plusieurs façons de transformer le code python en fichier exe, mais ici nous allons vous montrer comment utiliser "pyinstaller".

pyinstaller peut être installé avec pip install pyinstaller.

Si vous utilisez Anaconda, ouvrez [Anaconda Prompt] et entrez la commande suivante.

Anaconda Prompt


pip install pyinstaller

Ou dans la cellule Jupyter Notebook

Jupyter Notebook


!pip install pyinstaller

Vous pouvez également entrer et exécuter.

2. Préparez un fichier .py

Après avoir installé pyinstaller avec succès, l'étape suivante consiste à mettre le code que vous souhaitez convertir dans un fichier exe dans un "fichier .py".

Dans le cas de Jupyter Notebook, le format de fichier est ** ipynb ** tel quel, vous devez donc le convertir en fichier py.

Sélectionnez Python (.py) dans le menu Jupyter Notebook avec "Fichier - Télécharger sous" et enregistrez-le.

jupyter_pyfile.png

3. Ouvrez Anaconda Prompt et accédez à l'emplacement du fichier .py

Démarrez [Invite Anaconda]. Ensuite, utilisez la commande cd pour vous déplacer vers l'emplacement où se trouve le fichier py que vous avez enregistré précédemment. Par exemple, si l'emplacement du fichier py est "C: \ Users \ konitech \ sample", tapez la commande suivante.

Anaconda Prompt


cd C:\Users\konitech\sample

4. Transformez le fichier .py en fichier exe avec la commande pyinstaller

Créez ensuite un fichier exe avec la commande pyinstaller. Par exemple, si vous voulez que test.py soit un fichier exe, tapez la commande suivante.

Anaconda Prompt


pyinstaller test.py --onefile

S'il n'y a pas d'option appelée --onefile, de nombreux fichiers seront créés et désordonnés, donc ce --onefile est spécifié pour les combiner en un seul fichier exe.

Si vous obtenez une erreur

Parfois, vous obtenez une erreur ici et cela ne fonctionne pas.

Je vais présenter le modèle qui a réellement causé l'erreur et le remède.

■ ** RecursionError: profondeur de récursivité maximale dépassée lors de l'appel d'un objet Python **

Il semble que le nombre de récurrences soit trop important, mais je ne suis pas sûr. Après enquête, j'ai trouvé que je devais modifier le [fichier test.spec] créé lors de l'exécution de py installer test.py --onefile.

Je pense qu'un fichier test.spec est créé dans le même dossier que test.py, alors ouvrez-le avec un éditeur de texte.

# -*- mode: python -*-

Insérez ce qui suit juste en dessous et enregistrez-le en écrasant.

import sys
sys.setrecursionlimit(5000)

Et

Anaconda Prompt


pyinstaller test.spec

Créez un fichier exe en spécifiant le fichier de spécification que vous avez modifié précédemment.

■ ** Échec de l'exécution du script erreur pyi_rth_pkgres **

Il dit que pyi_rth_pkgres ne peut pas être exécuté, mais je ne suis toujours pas sûr. Encore une fois, modifiez le fichier de spécifications.

Dans le fichier de spécifications

fichier spec


a = Analysis(['test.py'],
             pathex=['C:\\Users\\xxx'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],

Je pense qu'il existe un tel endroit. Ajoutez ici pkg_resources.py2_warn aux importations masquées.

fichier spec


a = Analysis(['test.py'],
             pathex=['C:\\Users\\xxx'],
             binaries=[],
             datas=[],
             hiddenimports=['pkg_resources.py2_warn'],
             hookspath=[],

Et

Anaconda Prompt


pyinstaller test.spec

Créons un fichier exe en spécifiant le fichier de spécification édité précédemment.

5. Exécutez le fichier exe et vérifiez l'opération

Lorsque la création est terminée avec succès, un dossier appelé "dist" sera créé, et je pense qu'il n'y a qu'un seul fichier exe. Ceci est le fichier exe terminé.

Lançons-le et assurons-nous qu'il fonctionne.

Si cela fonctionne, vous pouvez distribuer ce fichier exe. Tu l'as fait!

référence

Voici les autres séries d'automatisation que j'ai écrites. Si vous êtes intéressé, s'il vous plaît!

[Automation] Envoyer des e-mails Outlook avec Python https://qiita.com/konitech913/items/51867dbe24a2a4272bb6

[Automation] Lire le courrier Outlook avec Python https://qiita.com/konitech913/items/8a285522b0c118d5f905

[Automation] Lire le courrier (fichier msg) avec Python https://qiita.com/konitech913/items/fa0cf66aad27d16258c0

Recommended Posts

[Automation] Convertissez le code Python en fichier exe
Comment convertir Python en fichier exe
Convertir le code de caractère du fichier avec Python3
Comment transformer un fichier .py en fichier .exe
Convertissez plusieurs blocs-notes Jupyter ensemble en un fichier html
Convertir le code python 3.x en python 2.x
[Python Kivy] Comment créer un fichier exe avec pyinstaller
[Automatisé avec python! ] Partie 1: fichier de configuration
[Automatisé avec python! ] Partie 2: Fonctionnement des fichiers
J'ai essayé de transformer un fichier Python en un EXE (erreur de récursivité prise en charge)
[Python] Comment convertir un fichier db en csv
[Python] Convertit les délimiteurs de fichier csv en délimiteurs de tabulation
Convertir un fichier psd en png en Python
Créez rapidement un fichier Excel avec Python #python
Création d'un fichier exe avec Python PyInstaller: le PC se fige dans le traitement parallèle
[Python] Récupère le code de caractère du fichier
Combinez plusieurs fichiers python en un seul fichier python
[Automation] Lire le courrier (fichier msg) avec Python
Script Python pour convertir la latitude et la longitude en code de maillage
Convertir un fichier svg en png / ico avec Python
[Python] [chardet] Détection automatique du code de caractère dans les fichiers
[Python] Automatisation implémentée pour la copie de fichiers Excel
Formater automatiquement le code Python en code compatible PEP8 avec Emacs
Développer des applications Windows avec Python 3 + Tkinter (fichier exe)
Code Python qui supprime les espaces contigus en un
Convertir le code de maillage cubique en WKT en Python
Fichier python de script
Créez un fichier exe qui fonctionne dans un environnement Windows sans Python avec PyInstaller
code de caractère python
Traitement de fichiers Python
[Python] Code conscient des algorithmes
Faire de chaque page PowerPoint un fichier image en Python
Créez un fichier image à l'aide de PIL (Python Imaging Library).
Lire le code QR à partir du fichier image avec Python (Mac)
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
Mémorandum PyInstaller Convertit Python [.py] en [.exe] avec 2 lignes
Procédure pour convertir un fichier python en exe à partir de la construction de l'environnement Ubunts