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

  1. télécharger une ancienne version de Python et en utilisant pyinstaller/py2exe
  2. création d'un environnement virtuel en 3,6 qui me permettra de faire 1.
  3. 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?
60
demandé sur eyllanesc 2017-01-10 16:44:59

6 réponses

étapes pour convertir .py to .exe en Python 3.6

  1. Installer Python 3.6 .
  2. installez cx_Freeze, (ouvrez votre invite de commande et tapez pip install cx_Freeze .
  3. installez idna, (ouvrez votre invite de commande et tapez pip install idna .
  4. Écrire un .py programme appelé myfirstprog.py .
  5. créer un nouveau fichier python nommé setup.py dans le répertoire courant de votre script.
  6. dans le setup.py , code ci-dessous et enregistrer.
  7. avec Maj enfoncé clic droit sur le même répertoire, vous pouvez donc ouvrir une fenêtre d'invite de commande.
  8. dans l'invite, type python setup.py build
  9. si votre script est exempt d'erreur, il n'y aura aucun problème lors de la création de l'application.
  10. 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 la packages liste (ex: packages = ["idna", "os","sys"] )
  • any name, any number, any description dans setup.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 .
64
répondu Maria Irudaya Regilan J 2018-05-11 05:40:38

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

33
répondu Rodrigo Nascimento 2017-09-26 01:12:38

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?

6
répondu Gerschel 2017-05-23 12:34:47

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:

Auto Py to Exe

sortie:

Output

6
répondu Gab 2018-07-28 19:06:16

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:

https://pypi.org/project/py2exe /

0
répondu Tejas Joshi 2018-09-19 09:03:40

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.

0
répondu MikeyB 2018-09-22 20:30:57