Ho iniziato a studiare Python e sono anche un nuovo utente di Ubuntu. Ho bisogno di sapere come compilare i .pyfile. 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 .pyfile. 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 .pyfile 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 pythonnella parte superiore dello script, rendendo il file eseguibile chmod +x hello.pye quindi eseguendo:
./hello.py
Il fatto che Python compili internamente lo .pyscript in .pycfile 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.pyciò che viene effettivamente eseguito è /usr/bin/env python ./hello.py. Vedi en.wikipedia.org/wiki/Shebang_(Unix)
chmod +xsovvenzioni 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.
-Oflag, comepython -O -m py_compile …, che "accenderà le ottimizzazioni di base". Elimina principalmente leassertistruzioni e ilif __debug__codice, quindi per la maggior parte del codice non ha alcun effetto. Vediman pythone "Cosa fa l'ottimizzazione di Python ...?" Per i dettagli.