web-dev-qa-db-fra.com

Comment utiliser pyinstaller?

D'accord, je suis un noob complet en programmation et j'essaie de compiler un programme simple que j'ai écrit qui prend une chaîne et imprime la chaîne en code morse, elle s'appelle morse.py. J'ai installé pyinstaller en utilisant

 pip install pyinstaller

et j'essaye de compiler mon programme en utilisant pyinstaller.

Maintenant, j'ai cherché un peu et il est dit que je dois écrire pyinstaller morse.py, mais je ne sais pas vraiment où écrire cela. J'ai essayé de passer au répertoire de mon programme et de le faire dans CMD mais cela n'a pas fonctionné. J'ai essayé de créer un programme python dans le même répertoire et cela et cela n'a pas fonctionné non plus. Je n'ai rien trouvé de très utile pour me dire exactement comment compiler le fichier.

Puis-je avoir une aide s'il vous plait?

11
user3333708

Je suggère de lire d'abord le tilisation de la section Pyinstaller dans la documentation du module lui-même.

Vous pouvez également utiliser certains tutoriels (par exemple celui de Matt Borgerson ).

Pour récapituler, vous devez:

  • écrivez votre script et assurez-vous qu'il fonctionne
  • exécuter à partir de la ligne de commande :

    ~\pyinstaller votre_nom_de_fichier. py

  • cette commande générera un votre_nom_de_fichier. un fichier de spécifications dans lequel vous pouvez inclure toutes les DLL requises par votre application et tous les paramètres personnalisés ( tilisation des fichiers de spécifications )

  • une fois que vous avez décidé quoi inclure dans votre application .exe, vous pouvez l'exécuter à partir de la ligne de commande

    ~\pyinstaller [ option1] [ option2] votre_nom_de_fichier. py

Vous pouvez trouver la liste complète des options dans la documentation. Un exemple pourrait être pyinstaller.exe --onefile --windowed --icon = app.ico app.py où:

  • --onefile: créer un exécutable groupé à un fichier.
  • --windowed: paramètre à choisir si vous compilez sous Mac OS X ou Windows
  • --icon =: choisissez le fichier à utiliser comme icône pour le fichier.

Vous pouvez créer votre fichier exe très facilement aussi avec py2exe.

19
mabe02

Essayez d'écrire le chemin complet vers pyinstaller (par exemple = C:\Users\user\AppData\Local\Programs\Python\Python35-32\Scripts\pyinstaller.exe)

la chaîne cmd complète doit ressembler à:

C:\Users\user\AppData\Local\Programs\Python\Python35-32\Scripts\pyinstaller.exe --onefile myscript.py

Je n'ai pas beaucoup d'expérience en Python. Je suis capable d'écrire des scripts simples mais utiles. J'ai pu les convertir en .exe en utilisant pyinstaller. Mais plus j'écris de programmes, plus je dispose de versions de python (et de packages et d'environnements virtuels). Ce qui fonctionnait au début a soudainement cessé de fonctionner et m'a rendu très confus. Mais en sautant d'une page à l'autre, je l'ai compris. Mon message est d'aider un autre débutant. J'utilise Windows, mais certaines règles sont probablement les mêmes pour d'autres systèmes. Je l'écris en mars 2020. Pyinstaller ne fonctionne pas correctement avec la dernière version python qui est maintenant 3.8. Donc, vous devez d'abord installer Python 3.7. Deuxièmement, choisissez la version en fonction du type de votre système. Elle peut être 32 ou 64. Vous pouvez installer plusieurs versions de Python. En ligne de commande, lorsque vous tapez "py", votre ordinateur recherchera la dernière version de Python - je veux dire celle avec le numéro de version le plus élevé. C'est à cause du fichier C:\Windows\py.exe qui apparaît lorsque vous installez votre premier Python. Si aujourd'hui vous n'avez installé que python 3.7, "py "S'exécutera Python 3.7. Mais le lendemain, lorsque vous installez Python 3.8 et que vous tapez" py ", il s'exécutera Python = 3.8. Si vous souhaitez utiliser l'ancien, tapez simplement py -3.7

C:\Users\Ania>py Python 3.8.2 (tags/v3.8.2: 7b3ab59, 25 février 2020, 23:03:10) [MSC v.1916 64 bits (AM D64)] sur win32 Type " aide "," copyright "," crédits "ou" licence "pour plus d'informations.

C:\Users\Ania>py -3.7

Python 3.7.7 (tags/v3.7.7: d7c567b08f, 10 mars 2020, 10:41:24) [MSC v.1900 64 bits (AMD64)] sur win32 Tapez "help", "copyright", "credits" ou " licence "pour plus d'informations.

Maintenant, pour travailler avec votre projet, vous devez créer un environnement virtuel pour celui-ci. N'oubliez pas d'utiliser la bonne version python. Commençons par créer un dossier pour cela.

D:\PYTHON>mkdir my_new_great_project

Accédez à ce dossier:

D:\PYTHON>cd my_new_great_project

Créez le venv:

D:\PYTHON\my_new_great_project>py -3.7 -m venv venv

Le premier "venv" ci-dessus est le nom d'un module python que nous utilisons. Le second "venv" est le nom de l'environnement virtuel que nous créons.

Activez le venv:

D:\PYTHON\my_new_great_project>venv\Scripts\activate.bat

Tu devrais voir:

(venv) D:\PYTHON\my_new_great_project>

Vous pouvez maintenant utiliser pip pour installer les packages externes dont votre projet a besoin.

(venv) D:\PYTHON\my_new_great_project>pip install pandas

Pip "sait" que vous avez besoin de packages pour python 3.7. Lorsque vous créez vos fichiers de projet, ne les placez pas dans le dossier "venv".

Pour exécuter votre projet à partir du venv, tapez simplement son nom

(venv) D:\PYTHON\my_new_great_project>great_project.py

Si vous avez terminé votre projet, tout fonctionne parfaitement et vous avez besoin d'un fichier .exe, il est temps d'installer pyinstaller dans votre venv.

(venv) D:\PYTHON\my_new_great_project>pip install pyinstaller

Pour vérifier quels packages externes vous avez déjà installés, tapez simplement "pip list":

(venv) D:\PYTHON\my_new_great_project>pip list

Version du package


altgraph 0.17 future 0.18.2 numpy 1.18.2 pandas 1.0.3 pefile 2019.4.18 pip 19.2.3 PyInstaller 3.6 python-dateutil 2.8.1 pytz 2019.3 pywin32-ctypes 0.2.0 setuptools 41.2. 0 six 1.14.0

À partir de venv, vous pouvez exécuter pyinstaller pour créer un fichier .exe:

(venv) D:\PYTHON\my_new_great_project>pyinstaller --onefile --name my_project great_project.py

Votre projet est maintenant disponible sous la forme d'un fichier .exe unique dans le dossier appelé "dist".

J'espère que ça aide quelqu'un.

0
aniaszka

Bonjour j'ai fait un code en python, je l'ai utilisé pour se transformer en exe.

Assurez-vous de l'avoir dans le même répertoire que le fichier que vous souhaitez convertir.

import subprocess
import shutil
import os

cmd = input("file name: ") # asks user for filename
extra = input("extra commands? eg -w -F if using two or more put a space between: ") # asks for extra options
suros = "pyinstaller "+ extra + " " + cmd + ".py" # sets run command
current_workin_path = os.getcwd() # gets current working path
dirt = current_workin_path + "/"+ cmd # set current working path for folder creation
os.mkdir(dirt) # creates folder for working path and for a copy
shutil.copy(cmd + ".py", current_workin_path + "/" + cmd + "/" + cmd + ".py") # creats copy of python file in the newly set path
os.chdir(current_workin_path + "/" + cmd + "/") # changes current working path to newly created one
subprocess.run(suros) # runs the command set eariler
os.remove(cmd + ".py") # delete the copy of python file

J'espère que cela aide quelqu'un.

0
Darthbeaverdog