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.
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.
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.
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.
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
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.
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.
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!
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