J'ai commencé à apprendre le python et je suis également un nouvel utilisateur d'Ubuntu. J'ai besoin de savoir comment compiler les .py
fichiers. J'ai essayé avec la commande
python "hello.py"
Quels sont les autres moyens de compiler Python?
J'ai commencé à apprendre le python et je suis également un nouvel utilisateur d'Ubuntu. J'ai besoin de savoir comment compiler les .py
fichiers. J'ai essayé avec la commande
python "hello.py"
Quels sont les autres moyens de compiler Python?
Réponses:
Sachez également que vous n'avez pas besoin de compiler un .py
fichier 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 .py
script en .pyc
fichiers bytecode pour des raisons de performances est un détail d'implémentation, et à moins que vous n'ayez une bonne raison de le faire, laissez-le python décider lui-même du moment et du moment de la compilation.
chmod +x
), comment l'interprète lit-il le script?
#!/path/to/interpreter
, le noyau exécute tout ce qui y est déclaré, en passant le chemin du script sous forme d'argument. Dans mon exemple, lorsque vous exécutez ./hello.py
ce qui est réellement exécuté, c’est /usr/bin/env python ./hello.py
. Voir en.wikipedia.org/wiki/Shebang_(Unix)
chmod +x
les droits accordés sont exécutés et ne touchent pas les droits existants; ils sont donc lisibles en plus d’être exécutables.
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.
Vous pouvez aussi essayer compileall
:
python -m compileall ./
Vous pouvez compiler des scripts Python 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
Allez à http://nuitka.net/doc/user-manual.html pour plus d'informations.
-O
drapeau, commepython -O -m py_compile …
«qui activera les optimisations de base». Il supprime principalement lesassert
instructions et leif __debug__
code. Par conséquent, il n’a aucun effet sur la plupart des codes. Voirman python
et «Que fait l'optimisation Python…?» Pour plus de détails.