web-dev-qa-db-fra.com

Compiler Python

Comment puis-je compiler et exécuter un fichier python (extension * .py)?

46
user161004

python yourfile.py

Vous devez d'abord avoir installé python. Il compilera automatiquement votre fichier dans un binaire .pyc, puis l'exécutera pour vous. Il sera automatiquement recompilé chaque fois que votre fichier sera modifié.

http://www.python.org/download/

28
Paul McMillan

Python compile ses fichiers en bytecode avant de les exécuter. Cela signifie que vous devez avoir un interpréteur Python installé sur la machine cible.

Si vous ne souhaitez pas installer Python sur la machine cible, utilisez py2exe , py2app ou quelque chose de similaire.

15
Georg Schölly

Si vous voulez juste compiler des sources, sans les exécuter, vous pouvez le faire

compileall.py <directory>

cette commande compilera le code python dans ce répertoire de manière récursive

Le script compileall est généralement situé dans un répertoire comme

/usr/local/lib/python2.6

<prefix>/lib/python2.6 (ou similaire, en fonction des préfixes, définissez une configuration python)

Comme le suggère Lulu, vous devez vous assurer que les fichiers .pyc et .pyo résultants sont exécutables par les utilisateurs qui vous sont chers.

compileall peut également être utilisé comme module

import compileall
compileall.compile_dir(path)
11
Evgeny

Python est un langage interprété, vous n’avez donc pas besoin de le compiler; juste pour l'exécuter. En l'occurrence, la version standard de python le compilera en "code octet", comme le fait Java, etc. le fichier depuis. Si vous avez mis à jour le fichier, il sera automatiquement recompilé.

Vous pouvez également exécuter python avec un indicateur -O, qui générera des fichiers .pyo au lieu de .pyc. Je ne suis pas sûr que cela fasse beaucoup de différence. Si la vitesse est importante, utilisez psyco.

Et oui, sous Unix (y compris Linux, BSD et Mac OS X, ou dans un shell Unix sous Windows), vous pouvez utiliser une ligne Shebang en haut du fichier pour que le fichier s'exécute automatiquement à l'aide de python. Sur Windows, l’équivalent consiste à associer des fichiers .py à python.exe, puis à s’assurer que votre variable d’environnement PATHEXT inclut des extensions ".PY".

Toutefois, pour les fenêtres, il est plus probable que vous souhaitiez écrire un programme graphique en python (utilisant éventuellement PyQT4 et ERIC4) contenant un fichier .pyw comme script principal et associant .pyw à pythonw (livré avec python sous windows). Cela vous permettra d’exécuter des scripts python sous Windows, tout comme les autres programmes à interface graphique. Pour la publication et la distribution, vous souhaiterez probablement compiler un fichier exécutable en utilisant quelque chose comme py2exe, comme d'autres l'ont mentionné.

8
Lee B

Pour ajouter à Paul McMillan , si vous utilisez Windows et que Python est installé, tous les fichiers dont l'extension se termine par ".py" doivent être associés à l'exécutable python, ce qui vous permet de l'exécuter comme suit:

> myfile.py

Dans * nix, vous pouvez commencer le fichier avec #!/usr/bin/python et l'exécuter comme suit:

$ ./myfile.py

Dans les systèmes * nix, si les deux premiers caractères d'un fichier sont #!, le fichier sera exécuté avec l'exécutable spécifié, que j'ai défini ici comme étant /usr/bin/python.

5
geowa4

Si vous souhaitez transformer un fichier source Python en un .exe double-cliquable sur Windows, vous pouvez utiliser py2exe , ce qui peut vous aider à créer un package facile à distribuer.

Sur la plupart des systèmes de type Unix, vous pouvez utiliser Shebang pour indiquer au système d'exploitation quel interpréteur doit être appelé. Vous mettez simplement

#!/path/to/python 

dans la première ligne de votre fichier, où vous devez bien sûr remplacer "/ path/to /" par le chemin que vous avez sur votre système. Dans la plupart des cas, il s'agirait de "/ usr/bin/python" ou "/ usr/local/bin/python". Sur les systèmes Unix, vous pouvez également rechercher le chemin avec 

"#!usr/bin/env python" 

ou invoquer la commande

which python

pour trouver le chemin ..___. Vous pouvez ensuite exécuter votre programme avec la commande

./yourprogram.py

Si cela vous indique que vous n’avez pas l’autorisation de le faire, vous devez utiliser la commande

chmod a+x yourprogram.py
1
Lucas

Answer for Windows

  1. d'abord vous devez installer python
  2. puis définir la variable de chemin
  3. après cela écrivez votre programme python et enregistrez
  4. pense qu'il existe un programme python qui s'appelle " hello.py "
  5. ouvrir cmd.exe
  6. puis allez au chemin que vous avez sauvegardé votre fichier " hello.py ",
  7. puis tapez python hello.py et appuyez sur enter key.

maintenant, le code python est automatiquement compilé et affiche le résultat. 

0
ashanrupasinghe