Comment puis-je convertir un.py.exe pour Python?
j'essaie de convertir un programme Python assez simple en un exécutable et je n'ai pas trouvé ce que je cherchais, donc j'ai quelques questions (j'exécute Python3.6):
les méthodes de faire ceci que j'ai trouvé jusqu'ici sont les suivantes
- télécharger une ancienne version de Python et en utilisant
pyinstaller/py2exe
- création d'un environnement virtuel en 3,6 qui me permettra de faire 1.
- télécharger un Python vers le convertisseur C++ et l'utiliser.
voici ce que j'ai essayé/quels problèmes j'ai rencontrés.
- j'ai installé
pyinstaller
avant le téléchargement requis avant elle (pypi-something) de sorte qu'il n'a pas fonctionné. Après avoir téléchargé le fichier requis,pyinstaller
ne le reconnaît toujours pas. - si je mets en place un virtualenv en 2.7, ai-je réellement besoin d'avoir installé 2.7?
- de même, les seuls convertisseurs python vers C++ que je vois ne fonctionnent que jusqu'à python 3.5 - dois-je télécharger et utiliser cette version si j'essaie cela?
6 réponses
étapes pour convertir .py to .exe en Python 3.6
- Installer Python 3.6 .
- installez cx_Freeze, (ouvrez votre invite de commande et tapez
pip install cx_Freeze
. - installez idna, (ouvrez votre invite de commande et tapez
pip install idna
. - Écrire un
.py
programme appelémyfirstprog.py
. - créer un nouveau fichier python nommé
setup.py
dans le répertoire courant de votre script. - dans le
setup.py
, code ci-dessous et enregistrer. - avec Maj enfoncé clic droit sur le même répertoire, vous pouvez donc ouvrir une fenêtre d'invite de commande.
- dans l'invite, type
python setup.py build
- si votre script est exempt d'erreur, il n'y aura aucun problème lors de la création de l'application.
- Vérifier le nouveau dossier
build
. Il a un autre dossier. Dans ce dossier, vous pouvez trouver votre application. L'exécuter. Vous rendre heureux.
voir le script original dans mon blog .
setup.py:
from cx_Freeze import setup, Executable
base = None
executables = [Executable("myfirstprog.py", base=base)]
packages = ["idna"]
options = {
'build_exe': {
'packages':packages,
},
}
setup(
name = "<any name>",
options = options,
version = "<any number>",
description = '<any description>',
executables = executables
)
EDIT:
- assurez-vous qu'au lieu de
myfirstprog.py
vous devriez mettre votre extension.py
nom du fichier d'extension tel que créé dans étape 4 ; - vous devez inclure chaque
import
dans votre.py
dans lapackages
liste (ex:packages = ["idna", "os","sys"]
) -
any name, any number, any description
danssetup.py
fichier ne doit pas rester le même, vous devez le modifier en conséquence (ex:name = "<first_ever>", version = "0.11", description = ''
) - les paquets
import
doivent être installés avant de commencer étape 8 .
Python 3.6 n'est toujours pas supporté par Pyinstaller. Donc pour l'utiliser, vous aurez besoin de Python 3.5 ou bellow. Je ne suis pas sûr pour py2exe.
de toute façon, le cas 1 devrait être fait comme ceci:
ouvrez une fenêtre cmd dans votre dossier Python (ouvrez une fenêtre de commande et utilisez cd
ou tout en maintenant majuscules, faites un clic droit sur Windows Explorer et choisissez "Ouvrir la fenêtre de commande ici"). Alors entrez
pip install pyinstaller
Et c'est tout.
la manière la plus simple de l'utiliser est d'entrer sur votre invite de commande
pyinstaller file_name.py
Pour plus de détails sur la façon de l'utiliser, jetez un oeil à cette question .
mise à Jour
Python 3.6 est maintenant supporté par Pyinstaller
Je ne peux pas vous dire ce qui est le mieux, mais un outil que j'ai utilisé avec succès dans le passé était cx_freeze. Ils ont récemment été mis à jour (le 1er janvier 2002). 7, ' 17) à la version 5.0.1 et il supporte Python 3.6.
voici le pypi https://pypi.python.org/pypi/cx_Freeze
les Docs montrent qu'il y a plus d'une façon de le faire selon vos besoins.
http://cx-freeze.readthedocs.io/en/latest/overview.html
Je n'ai pas encore essayé, donc je vais pointer vers un poteau où la façon simple de le faire a été discutée. Certaines choses peuvent ou peuvent ne pas avoir changé.
comment utiliser cx_freeze?
Il y a un projet open source appelé auto-py-à-exe sur Github . En fait, il utilise également juste Pyinstaller interne, mais comme il a une interface graphique simple qui contrôle Pyinstaller, il peut être une alternative confortable. Il peut aussi générer un fichier autonome, contrairement à d'autres solutions. Ils fournissent également une vidéo montrant comment le configurer.
GUI:
sortie:
py2exe est une extension distutils qui permet de construire des programmes exécutables standalone Windows (32-bit et 64-bit) à partir de scripts Python; Python 3.3 et suivants sont supportés. Il peut construire des exécutables de console, des exécutables windows (GUI), des services windows, et des serveurs DLL/EXE COM.
vous pouvez le télécharger ici:
J'ai utilisé Nuitka et PyInstaller avec mon paquet, PySimpleGUI.
Nuitka Il y avait des problèmes pour que tkinter compile avec Nuikta. Un des contributeurs du projet a développé un script qui a corrigé le problème.
si vous n' utilisez pas tkinter, il se peut qu '"il fonctionne" pour vous. Si vous utilisez tkinter, dites - le et j'essaierai de faire publier le script et les instructions.
PyInstaller J'exécute 3.6 et PyInstaller fonctionne bien! La commande que j'utilise pour créer mon fichier exe est:
pyinstaller -wF myfile.py
le-wF créera un fichier EXE unique. Parce que tous mes programmes ont une interface graphique et je ne veux pas commander window pour afficher, l'option-w masquera la fenêtre de commande.
C'est aussi proche d'obtenir ce que ressemble à a Programme Winforms à exécuter qui a été écrit en Python.