Python loyihalarini mustaqil bajariladigan fayllarga qadoqlash uchun PyOxidizer-ning chiqarilishi

Tanishtirdi yordamchi dasturning birinchi versiyasi Pioksidlovchi, bu sizga Python-da loyihani mustaqil bajariladigan fayl ko'rinishida, jumladan Python tarjimoni va ish uchun zarur bo'lgan barcha kutubxonalar va resurslarni paketlash imkonini beradi. Bunday fayllar Python asboblari o'rnatilmagan yoki Pythonning kerakli versiyasidan qat'iy nazar muhitda bajarilishi mumkin. PyOxidizer tizim kutubxonalari bilan bog'lanmagan statik bog'langan bajariladigan fayllarni ham yaratishi mumkin. Loyiha kodi Rust va tilida yozilgan tarqaladi MPL (Mozilla Public License) 2.0 ostida litsenziyalangan.

Loyiha xuddi shu nomdagi Rust tili moduliga asoslangan boβ€˜lib, ularda Python skriptlarini ishga tushirish uchun Rust dasturlariga Python tarjimonini kiritish imkonini beradi. PyOxidizer endi Rust qo'shimchasi bo'lishdan tashqariga chiqdi va kengroq auditoriyaga mustaqil Python paketlarini yaratish va tarqatish vositasi sifatida joylashtirildi. Ilovalarni bajariladigan fayl sifatida tarqatishga hojat bo'lmaganlar uchun PyOxidizer Python tarjimonini va kerakli kengaytmalar to'plamini joylashtirish uchun har qanday dastur bilan bog'lanish uchun mos kutubxonalarni yaratish imkoniyatini beradi.

Yakuniy foydalanuvchilar uchun loyihani bitta bajariladigan fayl sifatida etkazib berish o'rnatishni sezilarli darajada osonlashtiradi va bog'liqliklarni tanlash ishini yo'q qiladi, bu, masalan, video muharrirlari kabi murakkab Python loyihalari uchun muhimdir. Ilovalarni ishlab chiquvchilar uchun PyOxidizer turli xil operatsion tizimlar uchun paketlar yaratish uchun turli vositalardan foydalanmasdan, ilovalarni yetkazib berishni tashkil qilish vaqtini tejash imkonini beradi.

Taklif etilayotgan yig'ilishlardan foydalanish ham ishlashga ijobiy ta'sir ko'rsatadi - PyOxidizer-da yaratilgan fayllar importni yo'q qilish va asosiy modullarni aniqlash tufayli Python tizimidan foydalanishga qaraganda tezroq ishlaydi. PyOxidizer-da modullar xotiradan import qilinadi - barcha o'rnatilgan modullar darhol xotiraga yuklanadi va keyin diskga kirmasdan ishlatiladi). Sinovlarda, PyOxidizer-dan foydalanganda dasturni ishga tushirish vaqti taxminan yarmiga kamayadi.

Mavjud shunga o'xshash loyihalar orasida quyidagilarni ta'kidlash mumkin: PyInstaller (faylni vaqtinchalik katalogga ochadi va undan modullarni import qiladi), py2exe (Windows platformasiga ulangan va bir nechta fayllarni tarqatishni talab qiladi), py2 ilovasi (macOS bilan bog'langan), cx-muzlatish (alohida bog'liqlik paketini talab qiladi), Shiv ΠΈ PEX (zip formatida paket hosil qiling va tizimda Python talab qilinadi), tun (tarjimonni joylashtirishdan ko'ra kodni tuzadi), pinsist (Windows bilan bog'langan) PyRun (ishlash tamoyillarini tushuntirmasdan mulkiy rivojlanish).

Rivojlanishning hozirgi bosqichida PyOxidizer allaqachon Windows, macOS va Linux uchun bajariladigan fayllarni yaratish uchun asosiy funksiyani amalga oshirgan. Hozirda mavjud bo'lmagan imkoniyatlardan qayd etdi standart qurish muhitining yo'qligi, MSI, DMG va deb/rpm formatlarida paketlarni yaratishning iloji yo'qligi, C tilida murakkab kengaytmalarni o'z ichiga olgan qadoqlash loyihalari bilan bog'liq muammolar, etkazib berishni qo'llab-quvvatlash uchun buyruqlarning yo'qligi ("pyoksidlovchi qo'shish", "pioksidlovchi tahlili" va "pyoxidizer upgrade" ), Terminfo va Readline uchun cheklangan qo'llab-quvvatlash, Python 3.7 dan boshqa versiyalarni qo'llab-quvvatlamaslik, resurslarni siqish uchun qo'llab-quvvatlanmaslik, o'zaro kompilyatsiya qilish imkoniyati yo'qligi.

Manba: opennet.ru

a Izoh qo'shish