Partage
  • Partager sur Facebook
  • Partager sur Twitter

[PY]Comment compiler un script python ?

Comment !?

17 mars 2006 à 20:36:16

Salut !

je voulait savoir comment compiler un script python ?
Sous linux et aussi sous windows ...

Merci :)
  • Partager sur Facebook
  • Partager sur Twitter
17 mars 2006 à 20:49:10

Sous linux, quand tu lances "python tonprog.py", cela génère un programme d'extension .pyc, qui est un code python compilé (il me semble).

Ceci dit, rien ne garantit qu'il sera portable, et tu as plus intérêt à divulger la source à mon avis.

De plus, il n'est pas "standalone" : on ne peut pas l'executer sans avoir python. Pour ça, il faudrait empaqueter l'interpreteur avec dans un .exe, c'est assez moche et assez inutile à mon avis, mais ça existe (voir par exemple py2exe sur google).

À mon avis le mieux c'est de distribuer la source et c'est tout. (et puis si c'est une question de performance, ça ne change rien, et puis python c'est lent par nature donc de toute façon les performances on s'en fout :-° )
  • Partager sur Facebook
  • Partager sur Twitter
17 mars 2006 à 20:52:13

http://www.py2exe.org/.
Si tu as un problème...tu sais quoi faire ;)

EDIT:Grilled... :-°
  • Partager sur Facebook
  • Partager sur Twitter
Découvrez les grandes inventions et inventeurs qui font de notre monde ce qu'il est aujourd'hui :)
17 mars 2006 à 21:25:30

ha ...
Pas trop bien compris py2exe :D

Et sous windows on fait comment ?
  • Partager sur Facebook
  • Partager sur Twitter
17 mars 2006 à 22:25:58

salut,

Citation : blue

Sous linux, quand tu lances "python tonprog.py", cela génère un programme d'extension .pyc, qui est un code python compilé (il me semble).


Ce n'est pas exactement ça.
Il y a bien une "compillation" mais l'interpreteur semble toujour necessaire ...
Je crois que c'est la précompillation mais à vérifier :lol:

py2exe => pour win

Comment créer un exécutable à partir d’un fichier python .py avec PY2EXE.


1 ère étape :
Créer un fichier setup.py et y coller ce code :
# setup.py
from distutils.core import setup
import py2exe
setup(console=["fichier.py"])


remplacez fichier.py par le nom de votre fichier .py
si vous ne voulez pas que le programme s’exécute dans la console mais dans une fenêtre windows, remplacez console par windows.
Sauvegarder le fichier


2ème étape :
Mettre vos fichiers ( setup.py et fichier.py) dans le répertoire de python
(Pour moi C:\Python24)


3ème étape
Ouvrir une fenêtre DOS
Se placer dans le dossier de Python (cd C:\Python24)
Tapez ceci:

python setup.py py2exe



Voila, c’est fini!
Il ne te reste plus qu’a distribuer l’ensemble du dossier nommé dist.
Dans ce dossier tu trouveras l'exécutable.

Il peut y avoir des incompatibilités avec certaines librairies qui peuvent résolues en lisant ceci:
http://starship.python.net/crew/theller/moin.cgi/Py2Exe

Sous linux, pour tu donne le fichier .py (que tu peux donné sous windows à ceux qui on l'interpreteur.
Si tu veux le distribué à des gens qui on un interpreteur mais que tu ne souhaite pas qu'on voyent le code, tu utilises le pyc ^^

  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2006 à 16:25:17

Py2Exe ne compile pas .. il pack dans un .exe super lourd :/
  • Partager sur Facebook
  • Partager sur Twitter
20 mars 2006 à 10:27:57

Citation : kedare

Py2Exe ne compile pas ..



Et t'appelle ça quoi faire un executable ?
  • Partager sur Facebook
  • Partager sur Twitter
Découvrez les grandes inventions et inventeurs qui font de notre monde ce qu'il est aujourd'hui :)
20 mars 2006 à 15:55:54

Citation : PieR

Citation : kedare

Py2Exe ne compile pas ..



Et t'appelle ça quoi faire un executable ?


c'est pas parceque c'est un executable que c'est compilé ...
py2Exe enferme dans ton executable un mini-interpreteur , et ton script , il ne le compile pas en natif , donc tu ne gagne rien en performance
  • Partager sur Facebook
  • Partager sur Twitter
20 mars 2006 à 16:00:13

j'ai "compris" en lisant sont message qu'il souhaitait distribuer son programme sousn win et sous linux sans pour autant devoilé la source.
  • Partager sur Facebook
  • Partager sur Twitter
20 mars 2006 à 20:49:29

Le problème n'est pas tant de ne pas dévoiler la source mais surtout je pense de ne pas demander à l'utilisateur final d'installer python et les modules nécessaires

Sinon, comment generer un executable windows depusi linux? Depuis linux je peut generer un binaire executable linux sans problème mais je me vois mal devoir installer une IDE sous windows pour compiler une 2e fois :/
  • Partager sur Facebook
  • Partager sur Twitter
20 mars 2006 à 21:22:25

Franchement, demande à tes users d'installer python, ca sera plus simple pour tout le monde.
  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2007 à 12:19:01

Mauvaise description et information veuillez m'escusez
  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2007 à 12:23:16

Ton up monstrueux ne répond pas à la question.
D'une part, on a déjà parlé de Py2Exe, et d'autre part ça ne compile pas (vers du code natif).
  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2007 à 14:28:15

Tranformation d'un Script Python en Executable

La question récurrente du language Python.
Donc je me suis penché sur le suget et avec
un peu de logic et quelque connaissance en
programmation rien de bien fantastique j'ai
developper 2 plugins Pour Py2Exe

  • "SetupPyGenerate.exe" qui Génère un fichier "Setup.py" en un clique. (Borland delphi7)
  • "Py2Exe.exe" qui Execute le script "Setup.py" et transforme directement votre script en Executable. (Dev-Cpp et PowerBatch)

1.Installer "python-2.5.1.msi" si vous ne l'avez pas encore fait
et "py2exe-0.6.6.win32-py2.5.exe" dans l'ordre.

2.générer un fichier "setup.py" avec "SetupPyGenerate.exe"
il vous demanderas un nom de fichier *.py donc
indiquer le nom du fichier que vous voulez Transformer.

Dans le fichier "setup.py":

  1. from distutils.core import setup
  2. import py2exe
  3. setup (console= [“Nom_de_votre_script_a_compiler.py])



3.Mettre "Py2Exe.exe", "setup.py" & votre Script a transformer dans le répertoire d'installation de Python25 "C:\Python25"

4.Executer "Py2Exe.exe" une fois le processus terminer une fenetre s'ouvre a l'endroit ou votre Executable à été créer

Ps:Je vous est mis toute mes sources Delphi, Dev-Cpp, Batch.

tuto by Craft

Cliquer ici pour download les source et les binaire des outils en question.

Dans le Zip:
-python-2.5.1.msi
-py2exe-0.6.6.win32-py2.5.exe
-SetupPyGenerate.exe
-Py2Exe.exe
-Utilisation.txt
-exemple.py
-Dossier avec les Source 'src'


  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2007 à 15:11:38

Sauf qu'il n'y a pas de compilateur natif, c'est toujours du bytecode. Il est donc mensonger de parler de "compilateur", parce qu'on fait croire que les scripts sont compilés vers du code natif (assembleur, etc..).

Il vaudrait mieux dire "Intégrer votre script python dans un exécutable", ou "Transformer votre script python en exécutable", mais éviter le mot "compiler".
  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2007 à 15:20:15

Ce que tu devrait faire, c' est créer un petit programme C qui verifie si l' utilisateur posséde python, qui l' installe si ça n' est pas le cas et qui enfin installe ton programme.
  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2007 à 16:01:26

!!Bluestorm!!
oui tu a raison!! vu comme çà (question d'interprétation) autant pour moi...
(je change sa desuite)
Mais comme je l'ai dis
la chose que je voulais faire ces juste de simplifié via mes outils la
Transformation du script python en exécutable

!!ostream!!
il es vraie que j'aurais pus le faire
et ma fois je vais mis mettre des que je peu

c une bonne idée

je vous remercie a vous pour c'est conseille
et rectification de mon poste.
  • Partager sur Facebook
  • Partager sur Twitter
1 janvier 2008 à 19:49:51

Je vien de trouver une alternative qui ma l'air pas mal du tous...

j'ai remarqué que en transforment le script avec Py2Exe on doit garder les dll et les librairie sinon l'executable ne fonctionne pas.
Question portabilité c'est pas le top. Donc je me suis penché sur le suget pour faire un executable Seul.
Je n'en dis pas plus....

j'ai fais le tuto et vous me dirais se que vous en pensé.


===============================TuTo PyComp By Craft============================



PyComp by Craft

Il fo avoir installer préalablement

Borland Delphi7
et
ComponentsPython4Delphi.zip
(Le composant se trouve dans le Zip)


1.Rien de Bien difficile:

Ouvrir le Projet Delphi (PyComp.dpr) avec Borland Delphi7

Cliqué la ou il y a écrit 'Emplacement Script Python'

Dans l'inspecteur d'objet cliqueé sur Lines => (Tstrings)

une petite fenetre s'ouvre alors dedans mettre votre script

et cliquer sur OK

2.Finalisation:

Compiler le Projet Delphi.

Executer 'PyComp.exe'

Magique!!!

Maintenant on a un Executable seul sans Dll et Librairie a se trinballé!!!!
au lieu dans executable avec Py2Exe de 4.52mo (dll et lib comprise)
on a un executable de 503 ko

By Craft

Download PyComp pour Application Objet
http://coding.xooit.org/t28-Compiler-un-script-Python-en-Executable-avec-PyComp-by-Craft.htm

Download PyCompDos pour Application Console
http://coding.xooit.org/t45-PyCompDos.htm"

Tutorial Streaming
http://coding.xooit.org/t57-Streaming-PyComp-PyCompDos.htm
  • Partager sur Facebook
  • Partager sur Twitter
5 septembre 2010 à 17:54:01

Citation : CraftCoding

Je vien de trouver une alternative qui ma l'air pas mal du tous...

j'ai remarqué que en transforment le script avec Py2Exe on doit garder les dll et les librairie sinon l'executable ne fonctionne pas.
Question portabilité c'est pas le top. Donc je me suis penché sur le suget pour faire un executable Seul.
Je n'en dis pas plus....

j'ai fais le tuto et vous me dirais se que vous en pensé.


===============================TuTo PyComp By Craft============================



PyComp by Craft

Il fo avoir installer préalablement

Borland Delphi7
et
ComponentsPython4Delphi.zip
(Le composant se trouve dans le Zip)


1.Rien de Bien difficile:

Ouvrir le Projet Delphi (PyComp.dpr) avec Borland Delphi7

Cliqué la ou il y a écrit 'Emplacement Script Python'

Dans l'inspecteur d'objet cliqueé sur Lines => (Tstrings)

une petite fenetre s'ouvre alors dedans mettre votre script

et cliquer sur OK

2.Finalisation:

Compiler le Projet Delphi.

Executer 'PyComp.exe'

Magique!!!

Maintenant on a un Executable seul sans Dll et Librairie a se trinballé!!!!
au lieu dans executable avec Py2Exe de 4.52mo (dll et lib comprise)
on a un executable de 503 ko

By Craft

Download PyComp pour Application Objet
http://coding.xooit.org/t28-Compiler-u [...] -by-Craft.htm

Download PyCompDos pour Application Console
http://coding.xooit.org/t45-PyCompDos.htm"

Tutorial Streaming
http://coding.xooit.org/t57-Streaming- [...] PyCompDos.htm




Bonjour,

je remonte un message vieux de tres longtemp, mais j'aimerai faire exactement la meme chose que dans ce tuto de craft. mais les lien xooit ne sont plus bon quelqu'un pourrai m'aider pour faire quelque chose de similaire ?
  • Partager sur Facebook
  • Partager sur Twitter
14 janvier 2011 à 15:41:17

Salut, je répond à ce sujet un peut vieux, pour donner une autre solution
Sous Windows:
On crée un exécutable avec py2exe: http://www.py2exe.org/
Puis on compacte le tout avec ExeCompactor: http://gobiel.dev.free.fr/execompactor.rar
Et là on a un seul fichier *.exe :)

On peut aussi faire la même chose depuis WinRar, 7zip etc, décompression dans dossier temporaire en mode silencieux + exécution du fichier
  • Partager sur Facebook
  • Partager sur Twitter
21 février 2013 à 0:58:51

Hello,

je up car j'utilise psychopy je viens vers vous car les solution proposé plus haut me semble obsolètes et je voudrais compiler en .exe pour présenter le travail à d"autres étudiants.

merci bien.

-
Edité par dharckan 21 février 2013 à 1:07:30

  • Partager sur Facebook
  • Partager sur Twitter
21 février 2013 à 6:05:27

C'est quoi cette manie de déterrer ce topic tous les deux ans ? Laissez le reposer en paix ! :p

-
Edité par PyTony 21 février 2013 à 6:06:54

  • Partager sur Facebook
  • Partager sur Twitter
Envie de mettre les mains dans le cambouis ? Passez à Funtoo GNU/Linux. DO IT!
Anonyme
21 février 2013 à 10:52:47

PyTony a écrit:

C'est quoi cette manie de déterrer ce topic tous les deux ans ? Laissez le reposer en paix ! :p

Bonne idée. dharckan : plutôt que de déterrer un vieux sujet, ouvre en un tout neuf (il y a une section Python maintenant). Merci. :)

  • Partager sur Facebook
  • Partager sur Twitter