การเปิดตัว PyOxidizer สำหรับการบรรจุโปรเจ็กต์ Python ให้เป็นไฟล์ปฏิบัติการที่มีในตัวเอง

แนะนำ การเปิดตัวยูทิลิตี้ครั้งแรก ไพออกซิไดเซอร์ซึ่งช่วยให้คุณสามารถจัดแพ็คเกจโปรเจ็กต์ใน Python ในรูปแบบของไฟล์ปฏิบัติการที่มีอยู่ในตัวเอง ซึ่งรวมถึงล่าม Python และไลบรารีและทรัพยากรทั้งหมดที่จำเป็นสำหรับการทำงาน ไฟล์ดังกล่าวสามารถดำเนินการได้ในสภาพแวดล้อมโดยไม่ต้องติดตั้งเครื่องมือ Python หรือไม่คำนึงถึงเวอร์ชันของ Python ที่ต้องการ PyOxidizer ยังสามารถสร้างไฟล์ปฏิบัติการที่เชื่อมโยงแบบคงที่ซึ่งไม่ได้เชื่อมโยงกับไลบรารีระบบ รหัสโครงการเขียนด้วยภาษา Rust และ จัดจำหน่ายโดย ได้รับอนุญาตภายใต้ MPL (Mozilla Public License) 2.0

โปรเจ็กต์นี้ใช้โมดูลภาษา Rust ที่มีชื่อเดียวกัน ซึ่งช่วยให้คุณสามารถฝังล่าม Python ลงในโปรแกรม Rust เพื่อรันสคริปต์ Python ในนั้นได้ ขณะนี้ PyOxidizer ก้าวไปไกลกว่าการเป็นส่วนเสริมของ Rust และถูกวางตำแหน่งให้เป็นเครื่องมือสำหรับการสร้างและแจกจ่ายแพ็คเกจ Python ที่มีอยู่ในตัวเองให้กับผู้ชมในวงกว้าง สำหรับผู้ที่ไม่จำเป็นต้องแจกจ่ายแอปพลิเคชันเป็นไฟล์ปฏิบัติการ PyOxidizer มอบความสามารถในการสร้างไลบรารีที่เหมาะสมสำหรับการเชื่อมโยงกับแอปพลิเคชันใดๆ เพื่อฝังล่าม Python และชุดส่วนขยายที่จำเป็น

สำหรับผู้ใช้ปลายทาง การส่งมอบโปรเจ็กต์เป็นไฟล์ปฏิบัติการไฟล์เดียวจะช่วยลดความยุ่งยากในการติดตั้งได้อย่างมาก และกำจัดงานในการเลือกการขึ้นต่อกัน ซึ่งเป็นสิ่งสำคัญ เช่น สำหรับโปรเจ็กต์ Python ที่ซับซ้อน เช่น โปรแกรมตัดต่อวิดีโอ สำหรับนักพัฒนาแอปพลิเคชัน PyOxidizer ช่วยให้คุณประหยัดเวลาในการจัดการการส่งมอบแอปพลิเคชัน โดยไม่จำเป็นต้องใช้เครื่องมือที่แตกต่างกันเพื่อสร้างแพ็คเกจสำหรับระบบปฏิบัติการที่แตกต่างกัน

การใช้แอสเซมบลีที่นำเสนอยังส่งผลเชิงบวกต่อประสิทธิภาพ - ไฟล์ที่สร้างใน PyOxidizer จะทำงานเร็วกว่าเมื่อใช้ระบบ Python เนื่องจากไม่มีการนำเข้าและคำจำกัดความของโมดูลฐาน ใน PyOxidizer โมดูลจะถูกนำเข้าจากหน่วยความจำ - โมดูลในตัวทั้งหมดจะถูกโหลดลงในหน่วยความจำทันที จากนั้นนำไปใช้โดยไม่ต้องเข้าถึงดิสก์) ในการทดสอบ เวลาเปิดตัวแอปพลิเคชันเมื่อใช้ PyOxidizer จะลดลงประมาณครึ่งหนึ่ง

ในบรรดาโครงการที่คล้ายกันที่มีอยู่แล้วสามารถสังเกตได้ดังต่อไปนี้: โปรแกรมติดตั้ง Py (คลายไฟล์ลงในไดเร็กทอรีชั่วคราวและนำเข้าโมดูลจากนั้น) py2exe (เชื่อมโยงกับแพลตฟอร์ม Windows และต้องมีการแจกจ่ายหลายไฟล์) py2app (เชื่อมโยงกับ macOS) cx-แช่แข็ง (ต้องมีบรรจุภัณฑ์อ้างอิงแยกต่างหาก) ชีฟ и PEX (สร้างแพ็คเกจในรูปแบบ zip และต้องใช้ Python บนระบบ) นุ้ยก้า (รวบรวมโค้ดแทนที่จะฝังล่าม) นักพินิต (เชื่อมโยงกับ Windows) ไพรัน (การพัฒนาที่เป็นกรรมสิทธิ์โดยไม่มีคำอธิบายหลักการดำเนินงาน)

ในขั้นตอนการพัฒนาปัจจุบัน PyOxidizer ได้นำฟังก์ชันการทำงานหลักมาใช้ในการสร้างไฟล์ปฏิบัติการสำหรับ Windows, macOS และ Linux แล้ว จากโอกาสที่ไม่มีอยู่ในปัจจุบัน โด่งดัง ขาดสภาพแวดล้อมการสร้างมาตรฐาน ไม่สามารถสร้างแพ็คเกจในรูปแบบ MSI, DMG และ deb/rpm ปัญหาเกี่ยวกับโครงการบรรจุภัณฑ์ที่มีส่วนขยายที่ซับซ้อนในภาษา C ขาดคำสั่งเพื่อรองรับการส่งมอบ (“pyoxidizer add”, “pyoxidizer analyse” และ “การอัพเกรด pyoxidizer” ), การสนับสนุนที่จำกัดสำหรับ Terminfo และ Readline, ขาดการสนับสนุนสำหรับรุ่นอื่นที่ไม่ใช่ Python 3.7, ขาดการสนับสนุนสำหรับการบีบอัดทรัพยากร, ไม่สามารถคอมไพล์ข้ามได้

ที่มา: opennet.ru

เพิ่มความคิดเห็น