web-dev-qa-db-fra.com

Comment convertir un programme Python en un programme Windows exécutable .exe?

Je cherche un moyen de convertir un programme Python en un fichier .exe SANS utiliser py2exe. py2exe dit qu'il nécessite Python 2.6, qui est obsolète. Y a-t-il un moyen possible de distribuer mon programme Python sans que l'utilisateur final ait à installer Python?

43
bolharr2250

Comprenez que chaque application de «blocage» pour Python ne sécurisera pas vraiment votre code de quelque manière que ce soit. Chaque système d'empaquetage d'un «programme» Python exécutable autonome comprend un grand nombre de bibliothèques et d'interpréteurs Python, ce qui rendra votre programme assez volumineux. 

Cela dit, PyInstaller a fait un travail presque sans faille avec tout ce que je lui ai jeté. Actuellement, il ne prend en charge que jusqu'à Python 2.7, mais la prise en charge par Pyinstaller d'un ensemble varié de bibliothèques, grandes et petites, est incomparable dans les autres programmes de type 'freeze' pour Python.

26
PenguinCoder

certaines personnes parlent très bien de PyInstaller

http://www.pyinstaller.org/

8
Tiago Peczenyj

J'utilise cx_Freeze. Fonctionne avec Python 2 et 3 et je l’ai testé pour fonctionner sous Windows, Mac et Linux.

cx_Freeze: http://cx-freeze.sourceforge.net/

7
Omega Goggles

S'il s'agit d'un simple script py , Référez-vous ici

Sinon pour l'interface graphique:

$ pip3 install cx_Freeze

1) Créez un fichier setup.py et placez-le dans le même répertoire que le fichier .py à convertir.

2) Copier coller les lignes suivantes dans le fichier setup.py et changer le "nom de fichier.py" en le nom de fichier que vous avez spécifié.

from cx_Freeze import setup, Executable
setup(
    name="GUI PROGRAM",
    version="0.1",
    description="MyEXE",
    executables=[Executable("filename.py", base="Win32GUI")],
    )

3) Exécutez le fichier setup.py "$ python setup.py build"

4) Il y aura un nouveau répertoire appelé "build". À l'intérieur, vous obtiendrez votre fichier .exe prêt à être lancé directement . (Assurez-vous de copier-coller les fichiers images et les autres fichiers externes dans le répertoire de construction)

3
moovon

py2exe fonctionne avec Python 2.7 (ainsi que d'autres versions). Vous avez juste besoin du MSVCR90.dll

http://www.py2exe.org/index.cgi/Tutorial

2
Andy

J'ai utilisé cx-freeze avec de bons résultats en Python 3.2

2
Daniel Haley

J'ai déjà utilisé py2exe et j'en ai été très heureux. Je n’ai pas particulièrement aimé utiliser cx-freeze autant, cependant.

1
inspectorG4dget

Pour cela, vous avez deux choix:

  • Un déclassement en python 2.6. Ceci est généralement indésirable car il s'agit d'un retour en arrière et peut annuler une petite partie de vos scripts.
  • Votre deuxième option consiste à utiliser une forme de convertisseur exe. Je recommande pyinstaller car il semble avoir les meilleurs résultats. 
1

Il existe un autre moyen de convertir les scripts Python en fichiers .exe. Vous pouvez compiler des programmes Python en programmes C++ , qui peuvent être compilés en mode natif comme tout autre programme C++.

0
Anderson Green