Ho iniziato a studiare Python e sono anche un nuovo utente di Ubuntu. Ho bisogno di sapere come compilare i .py
file. Ho provato con il comando
python "hello.py"
Quali sono gli altri modi di compilare Python?
Ho iniziato a studiare Python e sono anche un nuovo utente di Ubuntu. Ho bisogno di sapere come compilare i .py
file. Ho provato con il comando
python "hello.py"
Quali sono gli altri modi di compilare Python?
Risposte:
Inoltre, tieni presente che non è necessario compilare un .py
file per eseguirlo. Python è un linguaggio interpretato e puoi eseguire direttamente gli script, usando:
python hello.py
Oppure rendi eseguibile il tuo script aggiungendolo #!/usr/bin/env python
nella parte superiore dello script, rendendo il file eseguibile chmod +x hello.py
e quindi eseguendo:
./hello.py
Il fatto che Python compili internamente lo .py
script in .pyc
file bytecode per motivi di prestazioni è un dettaglio dell'implementazione e, a meno che tu non abbia un motivo valido per farlo, lascia che Python stesso decida quando e se compilare.
chmod +x
), come fa l'interprete a leggere lo script?
#!/path/to/interpreter
, il kernel esegue effettivamente tutto ciò che viene dichiarato lì, passando il percorso dello script come argomento. Nel mio esempio, quando si esegue ./hello.py
ciò che viene effettivamente eseguito è /usr/bin/env python ./hello.py
. Vedi en.wikipedia.org/wiki/Shebang_(Unix)
chmod +x
sovvenzioni vengono eseguite e non toccano le autorizzazioni esistenti, quindi presumibilmente è leggibile oltre a essere ora eseguibile.
Dai un'occhiata a questo link Compila in Python
Nel mezzo della pagina, parla del modulo py_compile che può essere importato. La sintassi è la seguente:
import py_compile
py_compile.compile("file.py")
Questo metodo di compilazione non eseguirà il modulo come nell'esecuzione di python file.py.
C'è anche un metodo che compila un intero albero di directory ma ti lascerò controllare il link per vedere come viene eseguito.
Spero che sia di aiuto.
Puoi anche provare compileall
:
python -m compileall ./
Puoi compilare gli script Python in un codice binario usando vari metodi, ma ho scoperto che usare Nuitka è più efficiente.
Nuitka è un compilatore da Python a C ++ che supporta quasi tutte le versioni di Python.
La sintassi del comando è semplice come
nuitka hello.py
Vai a http://nuitka.net/doc/user-manual.html per ulteriori informazioni.
-O
flag, comepython -O -m py_compile …
, che "accenderà le ottimizzazioni di base". Elimina principalmente leassert
istruzioni e ilif __debug__
codice, quindi per la maggior parte del codice non ha alcun effetto. Vediman python
e "Cosa fa l'ottimizzazione di Python ...?" Per i dettagli.