yardımcı programın ilk sürümü Python'daki bir projeyi, Python yorumlayıcısı ve iş için gerekli tüm kitaplıklar ve kaynaklar dahil olmak üzere bağımsız bir yürütülebilir dosya biçiminde paketlemenize olanak tanır. Bu tür dosyalar, Python araçlarının kurulu olmadığı ortamlarda veya gerekli Python sürümüne bakılmaksızın yürütülebilir. PyOxidizer ayrıca sistem kitaplıklarına bağlı olmayan statik olarak bağlantılı yürütülebilir dosyalar da oluşturabilir. Proje kodu Rust'ta yazılmıştır ve MPL (Mozilla Kamu Lisansı) 2.0 kapsamında lisanslanmıştır.
Proje, aynı adı taşıyan Rust dil modülünü temel alıyor; bu modül, Rust programlarına bir Python yorumlayıcısı yerleştirmenize ve bu programlarda Python komut dosyalarını çalıştırmanıza olanak tanıyor. PyOxidizer artık bir Rust eklentisi olmanın ötesine geçti ve bağımsız Python paketleri oluşturmak ve daha geniş bir kitleye dağıtmak için bir araç olarak konumlandırılıyor. Uygulamaları çalıştırılabilir bir dosya olarak dağıtmaya ihtiyaç duymayanlar için PyOxidizer, bir Python yorumlayıcısını ve gerekli uzantı setini yerleştirmek için herhangi bir uygulamaya bağlanmaya uygun kitaplıklar oluşturma yeteneği sağlar.
Son kullanıcılar için, projenin tek bir yürütülebilir dosya olarak teslim edilmesi, kurulumu büyük ölçüde basitleştirir ve örneğin video editörleri gibi karmaşık Python projeleri için önemli olan bağımlılıkların seçilmesi işini ortadan kaldırır. Uygulama geliştiricileri için PyOxidizer, farklı işletim sistemlerine yönelik paketler oluşturmak için farklı araçlar kullanmaya gerek kalmadan uygulama dağıtımını organize ederken zaman kazanmanıza olanak tanır.
Önerilen derlemelerin kullanımının performans üzerinde de olumlu bir etkisi vardır - PyOxidizer'da oluşturulan dosyalar, temel modüllerin içe aktarılmasının ve tanımlanmasının ortadan kaldırılması nedeniyle Python sistemi kullanıldığında olduğundan daha hızlı çalışır. PyOxidizer'da modüller bellekten içe aktarılır - tüm yerleşik modüller hemen belleğe yüklenir ve ardından diske erişmeden kullanılır). Testlerde, PyOxidizer kullanıldığında uygulama başlatma süresi yaklaşık yarı yarıya azaldı.
Halihazırda mevcut olan benzer projeler arasında aşağıdakiler not edilebilir: (dosyayı geçici bir dizine açar ve modülleri buradan içe aktarır), (platforma bağlı) Windows ve çeşitli dosyaların dağıtımını gerektirir. (bağlı) macOS), (ayrı bağımlılık paketlemesi gerektirir), и (zip formatında bir paket oluşturun ve sistemde Python gerektirir), (bir tercüman yerleştirmek yerine kodu derler), (bağlı) Windows), (çalışma prensiplerinin açıklanmadığı tescilli geliştirme).
Mevcut geliştirme aşamasında, PyOxidizer, çalıştırılabilir dosyalar oluşturmak için temel işlevselliği zaten uygulamıştır. Windows, macOS и LinuxŞu anda kullanılamayan seçenekler arasından. Standart bir yapı ortamının olmayışı, MSI, DMG ve deb/rpm formatlarında paketler oluşturamama, C dilinde karmaşık uzantılar içeren paketleme projelerinde sorunlar, teslimatı destekleyecek komutların eksikliği (“pyoxidizer add”, “pyoxidizer analyze” ve "pyoxidizer yükseltmesi"), Terminfo ve Readline için sınırlı destek, Python 3.7 dışındaki sürümler için destek eksikliği, kaynak sıkıştırma desteği eksikliği, çapraz derleme yetersizliği.
Kaynak: opennet.ru
