Saya sudah mulai belajar python dan saya juga pengguna baru untuk Ubuntu. Saya perlu tahu cara mengkompilasi .py
file. Saya sudah mencoba dengan perintahnya
python "hello.py"
Apa cara lain untuk mengkompilasi python?
Saya sudah mulai belajar python dan saya juga pengguna baru untuk Ubuntu. Saya perlu tahu cara mengkompilasi .py
file. Saya sudah mencoba dengan perintahnya
python "hello.py"
Apa cara lain untuk mengkompilasi python?
Jawaban:
Perlu diketahui juga bahwa Anda tidak perlu mengkompilasi .py
file untuk menjalankannya. Python adalah bahasa yang ditafsirkan, dan Anda dapat menjalankan skrip secara langsung, baik menggunakan:
python hello.py
Atau buat skrip Anda dapat dieksekusi dengan menambahkan #!/usr/bin/env python
ke bagian atas skrip, membuat file tersebut dapat dieksekusi dengan chmod +x hello.py
dan kemudian menjalankan:
./hello.py
Fakta bahwa Python secara internal mengkompilasi .py
skrip Anda untuk bytecode .pyc
file untuk alasan kinerja adalah detail implementasi, dan kecuali Anda memiliki alasan kuat untuk melakukannya, biarkan python sendiri yang memutuskan kapan dan jika ingin dikompilasi.
chmod +x
), bagaimana penerjemah membaca skrip?
#!/path/to/interpreter
, kernel sebenarnya mengeksekusi apa pun yang dideklarasikan di sana, melewati jalur skrip sebagai argumen. Dalam contoh saya, ketika Anda menjalankan ./hello.py
apa yang sebenarnya dieksekusi adalah /usr/bin/env python ./hello.py
. Lihat en.wikipedia.org/wiki/Shebang_(Unix)
chmod +x
hibah mengeksekusi, dan tidak menyentuh izin yang ada sehingga mungkin itu dapat dibaca selain sekarang sedang dieksekusi.
Lihat tautan ini Kompilasi dengan Python
Di tengah halaman, ia berbicara tentang modul py_compile yang dapat diimpor. Sintaksnya adalah sebagai berikut:
import py_compile
py_compile.compile("file.py")
Metode kompilasi ini tidak akan menjalankan modul seperti menjalankan python file.py.
Ada juga metode yang mengkompilasi seluruh pohon direktori tetapi saya akan membiarkan Anda memeriksa tautan untuk melihat bagaimana itu dijalankan.
Semoga ini membantu.
Anda juga dapat mencoba compileall
:
python -m compileall ./
Anda dapat mengkompilasi skrip Python ke kode biner menggunakan berbagai metode, tetapi saya telah menemukan bahwa menggunakan Nuitka lebih efisien.
Nuitka adalah kompiler Python-ke-C ++ yang mendukung hampir semua versi python.
Sintaks perintah semudah
nuitka hello.py
Goto http://nuitka.net/doc/user-manual.html untuk informasi lebih lanjut.
-O
tanda, sepertipython -O -m py_compile …
, yang akan “mengaktifkan optimisasi dasar”. Itu terutama menghapusassert
pernyataan danif __debug__
kode, jadi untuk sebagian besar kode itu tidak berpengaruh. Lihatman python
dan “Apa yang dilakukan optimasi Python…?” Untuk detailnya.