PyOxidizer adalah utiliti untuk mengemas projek Python ke dalam fail yang boleh dilaksanakan

PyOxidizer

Beberapa hari yang lalu pembangun memperkenalkan versi pertama utiliti PyOxidizer, yang ditawarkan sebagai utiliti yang boleh digunakan untuk mengemas projek Python ke dalam fail yang boleh dilaksanakan yang terpisah, termasuk jurubahasa Python dan semua perpustakaan dan sumber yang diperlukan.

Fail seperti itu dapat dijalankan di persekitaran tanpa toolkit Python terpasang atau tanpa mengira ketersediaan versi Python yang diperlukan.

PyOxidizer juga dapat menghasilkan eksekusi yang berkaitan secara statistik yang tidak dikaitkan dengan perpustakaan sistem. Kod projek ditulis dalam bahasa Rust dan diedarkan di bawah MPL (Mozilla Public License) 2.0.

Mengenai PyOxidizer?

Projek itu didasarkan pada modul dengan nama yang sama untuk bahasa Rust, yang membolehkan anda memasukkan jurubahasa Python dalam program Rust untuk menjalankan skrip Python padanya.

PyOxidizer kini telah melampaui plugin untuk Rust dan diposisikan sebagai alat yang tersedia untuk khalayak yang lebih luas untuk membina dan mengedarkan pakej Python yang berdiri sendiri.

PyOxidizer utiliti yang bertujuan untuk menyelesaikan masalah bagaimana menyebarkan aplikasi Python.

Bagi mereka yang tidak perlu menyebarkan aplikasi dalam bentuk fail yang dapat dilaksanakan, PyOxidizer menawarkan peluang untuk menghasilkan perpustakaan yang sesuai untuk dihubungkan dengan aplikasi apa pun untuk menanamkan pentafsir Python dan set sambungan yang diperlukan di dalamnya.

Sebaran aplikasi Python secara umum dianggap sebagai masalah yang tidak dapat diselesaikan kerana Russel Keith-Magee mengenal pasti pengedaran kod sebagai ancaman eksistensial untuk umur panjang, bagi Python. Dalam kata-katanya, Python tidak pernah mempunyai sejarah yang konsisten tentang bagaimana saya memberikan kod saya kepada orang lain, terutama jika orang itu bukan pembangun dan hanya ingin menggunakan aplikasi saya.

Untuk pengguna akhir, menyampaikan projek dalam bentuk satu fail yang boleh dilaksanakan Ini sangat memudahkan pemasangan dan menghilangkan kerja memilih kebergantungan, yang penting, misalnya, untuk projek Python yang kompleks seperti penyunting video.

Sementara di sisi lain Bagi pembangun aplikasi, PyOxidizer membolehkan mereka menjimatkan masa mengatur penghantaran aplikasi tanpa perlu menggunakan alat yang berbeza untuk membuat pakej untuk sistem operasi yang berbeza.

Bagaimana PyOxidizer berfungsi?

Menggunakan binaan yang dicadangkan ia juga memberi kesan positif terhadap prestasi: fail yang dihasilkan dalam PyOxidizer berjalan lebih cepat daripada menggunakan sistem Python dengan membuang import dan menentukan modul asas.

Dalam PyOxidizer, modul diimport dari memori (Semua modul bawaan segera dimuat ke dalam memori dan kemudian digunakan tanpa akses cakera). Dalam ujian, masa permulaan aplikasi dengan PyOxidizer kira-kira separuh.

Dari projek sedia ada yang serupa, adalah mungkin untuk melihat: PyInstaller (membongkar fail ke direktori sementara dan mengimport modul darinya).

  • Py2exe (dihubungkan ke platform Windows dan memerlukan banyak pengedaran fail), py2app (dihubungkan ke macOS)
  • Pembekuan Cx (memerlukan pembungkusan kebergantungan yang berasingan), Shiv dan PEX (bentuk pakej zip dan memerlukan Python pada sistem)
  • Nuitka (menyusun kod, bukan jurubahasa tertanam), pynsist (dihubungkan ke Windows), PyRun (pengembangan proprietari tanpa penjelasan mengenai prinsip kerja).

Pada peringkat perkembangan semasa, PyOxidizer telah melaksanakan fungsi utama untuk menghasilkan fail yang dapat dilaksanakan untuk Windows, macOS, dan Linux.

Dari kemampuan yang jauh mencatat ketiadaan persekitaran kompilasi standard, ketidakmampuan untuk menghasilkan pakej dalam format MSI, DMG dan deb / rpm, dengan masalah pembungkusan projek yang melibatkan peluasan kompleks ke bahasa C.

Walaupun ketiadaan arahan untuk menyokong penyampaian ("pyoxidizer add", "pyoxidizer analysis" dan "pyoxidizer upgrade") dan sokongan terhad untuk Terminfo dan Readline, kekurangan sokongan untuk versi selain Python 3.7, kekurangan sokongan untuk pemampatan sumber, ketidakupayaan untuk menyusun silang.

Fuente: https://pyoxidizer.readthedocs.io


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.