web-dev-qa-db-fra.com

Comment compiler un fichier python?

J'ai commencé à apprendre python et je suis également un nouvel utilisateur d'Ubuntu. J'ai besoin de connaître les méthodes de compilation des fichiers .py. J'ai essayé avec la commande

python "hello.py"

Quels sont les autres moyens de compiler Python?

51
Bharath Lakshman

En ajoutant à la réponse de Bryan, si vous souhaitez simplement compiler un fichier ou un groupe de fichiers à partir d'un terminal, le module py_compile peut être exécuté en tant que script de la manière suivante:

python -m py_compile fileA.py fileB.py fileC.py ...

56
Yamaho

Sachez également que vous n'avez pas besoin de compiler un fichier .py pour l'exécuter. Python est un langage interprété, et vous pouvez exécuter les scripts directement, en utilisant:

python hello.py

Ou bien, exécutez votre script en ajoutant #!/usr/bin/env python en haut du script, en rendant le fichier exécutable avec chmod +x hello.py, puis en exécutant:

./hello.py

Le fait que Python compile en interne votre script .py en fichiers bytecode .pyc pour des raisons de performances est un détail de la mise en œuvre, et à moins que vous n'ayez une raison solide de le faire, laissez python décider lui-même quand et si compiler.

26
MestreLion

Découvrez ce lien Compiler en Python

Au milieu de la page, il est question du module py_compile pouvant être importé. La syntaxe est la suivante:

import py_compile

py_compile.compile("file.py")

Cette méthode de compilation n'exécutera pas le module, pas plus que l'exécution de python fichier.py.

Il existe également une méthode qui compile une arborescence de répertoires complète, mais je vous laisse consulter le lien pour voir comment cela s'exécute.

J'espère que cela t'aides.

11
Bryan

Vous pouvez également essayer compileall:

python -m compileall ./
9
MediaVince

Vous pouvez compiler Python scripts en un code binaire en utilisant différentes méthodes, mais j'ai découvert qu'utiliser Nuitka était plus efficace.

Nuitka est un compilateur Python-to-C++ qui supporte presque toutes les versions de python.

La syntaxe de la commande est aussi simple que

nuitka hello.py

Goto http://nuitka.net/doc/user-manual.html pour plus d'informations.

3
salafi