A voir également:
- Interface graphique avec un script Python
- Script vidéo youtube - Guide
- Changer carte graphique - Guide
- Comment faire un graphique sur excel - Guide
- Citizen code python avis - Accueil - Outils
7 réponses
_Ritchi_
Messages postés
21293
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
26 novembre 2024
6 080
6 déc. 2016 à 19:02
6 déc. 2016 à 19:02
Bonjour,
Pourquoi ne pas compiler ton script python et ainsi livrer juste un exécutable ?
Ritchi
Pourquoi ne pas compiler ton script python et ainsi livrer juste un exécutable ?
Ritchi
Je sais c'est surement pas très compliqué ni très évolué... mais comment compiler pour avoir, à partir d'un fichier python, un exécutable indépendant?
_Ritchi_
Messages postés
21293
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
26 novembre 2024
6 080
9 déc. 2016 à 19:28
9 déc. 2016 à 19:28
Bonjour,
Voici une explication:
Compiler un script Python
Regarde l'explication de sloshy datée du 17 mars 2006 à 22h25
Ritchi
Voici une explication:
Compiler un script Python
Regarde l'explication de sloshy datée du 17 mars 2006 à 22h25
Ritchi
Bonsoir,
J'ai en effet lu pas mal d'explications (d'autres plus compliquées qui ne marchaient pas avec cxfreeze py2exe ou autre)...
Le problème auquel je suis confronté avec cette solution (qui me semble cependant être la meilleure) est que, sous windows, j'utilise Pyzo comme éditeur (avec Anaconda). J'ai bien créé les fichiers setup et l'autre, mais je ne trouve pas les répertoires en question... car j'ai du mal à retrouver les différents fichier de python dans mon éditeur (C, ProgrammeFiles, Pyzo, ...?)
Pourriez-vous m'aider sur ce point?
De plus, les commentaires suivants semblent montrer que cela ne marche pas (mais ça je verrai bien par moi même)
Un grand merci pour votre aide
J'ai en effet lu pas mal d'explications (d'autres plus compliquées qui ne marchaient pas avec cxfreeze py2exe ou autre)...
Le problème auquel je suis confronté avec cette solution (qui me semble cependant être la meilleure) est que, sous windows, j'utilise Pyzo comme éditeur (avec Anaconda). J'ai bien créé les fichiers setup et l'autre, mais je ne trouve pas les répertoires en question... car j'ai du mal à retrouver les différents fichier de python dans mon éditeur (C, ProgrammeFiles, Pyzo, ...?)
Pourriez-vous m'aider sur ce point?
De plus, les commentaires suivants semblent montrer que cela ne marche pas (mais ça je verrai bien par moi même)
Un grand merci pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
_Ritchi_
Messages postés
21293
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
26 novembre 2024
6 080
Modifié par _Ritchi_ le 9/12/2016 à 23:31
Modifié par _Ritchi_ le 9/12/2016 à 23:31
Bonsoir,
Perso, sur mon PC de travail, je place dans le même répertoire "MonProjet" tous les fichiers .py .ini .lib .dll .ico... qui composent mon application "MonProjet.py".
Imagine que mon application "MonProjet.py" nécessite:
- le fichier "MonProjet.ini" contenant tous les paramètres de configuration de mon application
- le fichier "MonProjet.ico" icone de mon application
Imagine aussi que ma version Python est la 2.7 et elle est installée dans le répertoire c:\python27
Je crée alors le fichier "compile.bat" dans mon répertoire "MonProjet" et ce fichier contiendra ceci:
Ce fichier compile.bat est lancé directement par un double clic.
A la fin de son exécution, le répertoire "MonProjet/MonProjet" contient l'exécutable "MonProjet.exe" et tous les fichiers qui lui sont nécessaires comme le fichier d'initialisation "MonProjet.ini" et tous les fichiers librairies (.dll, .ico, .lib, ...)
Ritchi
Perso, sur mon PC de travail, je place dans le même répertoire "MonProjet" tous les fichiers .py .ini .lib .dll .ico... qui composent mon application "MonProjet.py".
Imagine que mon application "MonProjet.py" nécessite:
- le fichier "MonProjet.ini" contenant tous les paramètres de configuration de mon application
- le fichier "MonProjet.ico" icone de mon application
Imagine aussi que ma version Python est la 2.7 et elle est installée dans le répertoire c:\python27
Je crée alors le fichier "compile.bat" dans mon répertoire "MonProjet" et ce fichier contiendra ceci:
set PATH=c:\python27
echo creation du fichier temporaire compile.py:
echo from distutils.core import setup > compile.py
echo import py2exe >> compile.py
echo setup(console=['MonProjet.py']) >> compile.py
echo setup(console=[{"script":'MonProjet.py', "icon_resources": [(1, "MonProjet.ico")]}]) >> compile.py
echo compilation python:
python compile.py py2exe
echo ajout des fichiers indispensables:
copy *.ini dist\
copy *.lib dist\
copy *.dll dist\
copy *.ico dist\
echo suppression d une eventuelle version precedemment compilee:
del MonProjet
del MonProjet.zip
echo renommage du repertoire dist:
move dist MonProjet
echo suppression des fichiers temporaires:
del compile.py
del /S /Q build
pause
Ce fichier compile.bat est lancé directement par un double clic.
A la fin de son exécution, le répertoire "MonProjet/MonProjet" contient l'exécutable "MonProjet.exe" et tous les fichiers qui lui sont nécessaires comme le fichier d'initialisation "MonProjet.ini" et tous les fichiers librairies (.dll, .ico, .lib, ...)
Ritchi
Merci beaucoup de la réponse!
J'ai (enfin) réussi à créer mon fichier exe. Cela marche très bien pour des programmes simples. J'ai donc essayé de l'appliquer pour le programme pour lequel je fais tout ça et...cela ne marche pas car visiblement le module numpy n'est pas connu! Pourtant j'utilise python 3.5, enfin je ne vois pas comment faire renter le module dans la librairie... y a t il un endroit où on pourrai copier numpy et le coller dans la librairie et essayer de l'insérer dans les fichier dont a besoin l'exécutable?
J'ai (enfin) réussi à créer mon fichier exe. Cela marche très bien pour des programmes simples. J'ai donc essayé de l'appliquer pour le programme pour lequel je fais tout ça et...cela ne marche pas car visiblement le module numpy n'est pas connu! Pourtant j'utilise python 3.5, enfin je ne vois pas comment faire renter le module dans la librairie... y a t il un endroit où on pourrai copier numpy et le coller dans la librairie et essayer de l'insérer dans les fichier dont a besoin l'exécutable?
_Ritchi_
Messages postés
21293
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
26 novembre 2024
6 080
10 déc. 2016 à 10:19
10 déc. 2016 à 10:19
Bonjour
Voici ce que recommande py2exe quand on utilise NumPy:
Py2Exe - Working with Various Packages and Modules:
Ces recommandations recouvrent-elles ton cas ?
Ritchi
Voici ce que recommande py2exe quand on utilise NumPy:
Py2Exe - Working with Various Packages and Modules:
NumPy
• If you're getting No scipy-style subpackage 'xxx' found in c:\...\library.zip\numpy. Ignoring, try --skip-archive command line option or pass options = {"py2exe": {"skip_archive":1}} to setup().
• If you're using numarray and numpy together, be aware that they both have a _sort, and py2exe gets them confused. After py2exe creates the dist directotry, copy numpy/core/_sort.pyd and numarray/sort.pyd to their respective locations in the dist. [This problem is due to a bug in py2exe: it used a single, flat namespace for all .pyd files. This has been fixed in CVS as of 7 Sep 2007.]
• Numpy 1.4.0 and Py2exe 0.6.9 may have issues compiling to an executable. The executable may run on your computer, but won't run on others machines. You may get an error that says the module can't be found or a DLL load failure referencing numpy files (.pyc,.pyo). The solution to this is to use numpy 1.3.0.
Ces recommandations recouvrent-elles ton cas ?
Ritchi
Bonjour!
J'ai essayé de résoudre les nbeux bugs auxquels j'ai été confronté, mais il paraîtrait que py2exe ne serait pas compatible avec Python 3 :/ En effet, j'ai un script python 3 et je cherche à créer l'exécutable à partir de Python le plus rapidement possible, en cachant le source, utilisable par n'importe quel utilisateur de Windows, mais à chaque fois j'ai des messages d'erreur, que cela soit dû à des erreurs de bibliothèque (erreur que je parviens pas à résoudre) ou autre... J'ai donc essayé cxfreeze, sans succès..., il y a forcément un bug qque part...
L'année prochaine je ferai ça calmement et proprement, programmé en C... mais là le temps me presse avant les concours... Du coup je suis un peu perdu (dans tout ce temps perdu justement :D) entre quoi utiliser, quoi faire, comment résoudre tous ces bugs, les outils chronophages ou autre... :/
En tout cas un immense merci pour votre aide :)
J'ai essayé de résoudre les nbeux bugs auxquels j'ai été confronté, mais il paraîtrait que py2exe ne serait pas compatible avec Python 3 :/ En effet, j'ai un script python 3 et je cherche à créer l'exécutable à partir de Python le plus rapidement possible, en cachant le source, utilisable par n'importe quel utilisateur de Windows, mais à chaque fois j'ai des messages d'erreur, que cela soit dû à des erreurs de bibliothèque (erreur que je parviens pas à résoudre) ou autre... J'ai donc essayé cxfreeze, sans succès..., il y a forcément un bug qque part...
L'année prochaine je ferai ça calmement et proprement, programmé en C... mais là le temps me presse avant les concours... Du coup je suis un peu perdu (dans tout ce temps perdu justement :D) entre quoi utiliser, quoi faire, comment résoudre tous ces bugs, les outils chronophages ou autre... :/
En tout cas un immense merci pour votre aide :)
_Ritchi_
Messages postés
21293
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
26 novembre 2024
6 080
13 déc. 2016 à 19:17
13 déc. 2016 à 19:17
Et Python3 est obligatoire pour ton projet ?
Amb02
>
_Ritchi_
Messages postés
21293
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
26 novembre 2024
14 déc. 2016 à 00:59
14 déc. 2016 à 00:59
Hélas oui, car c'est le langage officiel imposé aux concours... :/
_Ritchi_
Messages postés
21293
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
26 novembre 2024
6 080
Modifié par _Ritchi_ le 14/12/2016 à 07:11
Modifié par _Ritchi_ le 14/12/2016 à 07:11
Pourtant py2exe v0.9.2.0 est compatible python 3.3 et plus récent:
Build standalone executables for Windows (python 3 version)
Build standalone executables for Windows (python 3 version)
Amb02
>
_Ritchi_
Messages postés
21293
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
26 novembre 2024
14 déc. 2016 à 22:10
14 déc. 2016 à 22:10
Malheureusement je viens de réessayer en le téléchargeant à nouveau... et la version requise est la version 2.7 de Python...