Το PyOxidizer είναι ένα βοηθητικό πρόγραμμα για τη συσκευασία έργων Python σε εκτελέσιμα αρχεία

Πυροξειδωτικό

Λίγες μέρες πριν Οι προγραμματιστές παρουσίασαν την πρώτη έκδοση του βοηθητικού προγράμματος PyOxidizer, το οποίο προσφέρεται ως ένα βοηθητικό πρόγραμμα που μπορεί να χρησιμοποιηθεί για τη συσκευασία ενός έργου Python ως ξεχωριστό εκτελέσιμο αρχείο, συμπεριλαμβανομένου του διερμηνέα Python και όλων των απαραίτητων βιβλιοθηκών και πόρων.

Τέτοια αρχεία μπορούν να εκτελεστούν σε περιβάλλοντα χωρίς την εγκατάσταση της εργαλειοθήκης Python ή ανεξάρτητα από τη διαθεσιμότητα της απαιτούμενης έκδοσης του Python.

Το PyOxidizer μπορεί επίσης να δημιουργήσει στατικά συναφή εκτελέσιμα που δεν σχετίζονται με τις βιβλιοθήκες του συστήματος. Ο κωδικός του έργου είναι γραμμένος στη γλώσσα Rust και διανέμεται στο MPL (Mozilla Public License) 2.0.

Σχετικά με το PyOxidizer;

Το έργο βασίζεται στη μονάδα με το ίδιο όνομα για τη γλώσσα Rust, η οποία σας επιτρέπει να ενσωματώσετε έναν διερμηνέα Python σε προγράμματα Rust για να εκτελέσετε σενάρια Python σε αυτά.

Πυροξειδωτικό Έχει πλέον προχωρήσει πέρα ​​από την προσθήκη για το Rust και τοποθετείται ως εργαλείο διαθέσιμο σε ένα ευρύτερο κοινό για την κατασκευή και διανομή αυτόνομων πακέτων Python.

PyOxidizer ένα βοηθητικό πρόγραμμα που στοχεύει στην επίλυση του προβλήματος του τρόπου διανομής εφαρμογών Python.

Για όσους δεν χρειάζεται να διανείμουν εφαρμογές με τη μορφή εκτελέσιμου αρχείου, το PyOxidizer προσφέρει ευκαιρίες δημιουργίας κατάλληλων βιβλιοθηκών για σύνδεση με οποιαδήποτε εφαρμογή για την ενσωμάτωση του διερμηνέα Python και το απαραίτητο σύνολο επεκτάσεων σε αυτές.

Η διανομή εφαρμογών Python θεωρείται γενικά ένα άλυτο πρόβλημα, καθώς ο Russel Keith-Magee αναγνώρισε τη διανομή κώδικα ως υπαρξιακή απειλή για τη μακροζωία, για την Python. Σύμφωνα με τα λόγια του, ο Python δεν είχε ποτέ μια σταθερή ιστορία για το πώς δίνω τον κωδικό μου σε κάποιον άλλο, ειδικά αν αυτό το άλλο άτομο δεν είναι προγραμματιστής και θέλει απλώς να χρησιμοποιήσει την εφαρμογή μου.

Για τους τελικούς χρήστες, την παράδοση ενός έργου με τη μορφή ενός μόνο εκτελέσιμου αρχείου Απλοποιεί σημαντικά την εγκατάσταση και εξαλείφει το έργο επιλογής εξαρτήσεων, το οποίο είναι σημαντικό, για παράδειγμα, για σύνθετα έργα Python, όπως προγράμματα επεξεργασίας βίντεο.

Ενώ από την άλλη πλευρά Για προγραμματιστές εφαρμογών, το PyOxidizer τους επιτρέπει να εξοικονομήσουν χρόνο οργανώνοντας την παράδοση μιας εφαρμογής χωρίς να χρειάζεται να χρησιμοποιήσετε διαφορετικά εργαλεία για τη δημιουργία πακέτων για διαφορετικά λειτουργικά συστήματα.

Πώς λειτουργεί το PyOxidizer;

Χρησιμοποιώντας τις προτεινόμενες εκδόσεις έχει επίσης θετική επίδραση στην απόδοση: Τα αρχεία που δημιουργούνται στο PyOxidizer τρέχουν γρηγορότερα από τη χρήση του συστήματος Python, καταργώντας τις εισαγωγές και καθορίζοντας βασικές ενότητες.

Στο PyOxidizer, οι ενότητες εισάγονται από τη μνήμη (Όλες οι ενσωματωμένες μονάδες φορτώνονται αμέσως στη μνήμη και στη συνέχεια χρησιμοποιούνται χωρίς πρόσβαση στο δίσκο). Κατά τη δοκιμή, ο χρόνος εκκίνησης της εφαρμογής με το PyOxidizer είναι περίπου μισός.

Από παρόμοια υπάρχοντα έργα, μπορείτε να παρατηρήσετε: PyInstaller (αποσυσκευάζει το αρχείο σε προσωρινό κατάλογο και εισάγει μονάδες από αυτόν).

  • Py2exe (συνδέεται με πλατφόρμα Windows και απαιτεί πολλαπλή διανομή αρχείων), py2app (συνδέεται με macOS)
  • Cx-freeze (απαιτεί ξεχωριστή συσκευασία εξάρτησης), Shiv και PEX (σχηματίστε ένα πακέτο zip και απαιτείται Python στο σύστημα)
  • Nuitka (μεταγλωττίζει τον κωδικό, όχι τον ενσωματωμένο διερμηνέα), pynsist (συνδεδεμένο με Windows), PyRun (ιδιόκτητη ανάπτυξη χωρίς εξήγηση των αρχών λειτουργίας).

Στο σημερινό στάδιο ανάπτυξης, Το PyOxidizer έχει ήδη εφαρμόσει την κύρια λειτουργικότητα για τη δημιουργία εκτελέσιμων αρχείων για Windows, macOS και Linux.

Από τις εκτεταμένες δυνατότητες σημείωσε την απουσία ενός τυπικού περιβάλλοντος συλλογής, την αδυναμία δημιουργίας ενός πακέτου σε μορφή MSI, DMG και deb / rpm, με προβλήματα συσκευασίας έργου που περιλαμβάνουν πολύπλοκες επεκτάσεις στη γλώσσα C.

Ενώ η απουσία οδηγιών για την υποστήριξη της κυκλοφορίας ("pyoxidizer add", "pyoxidizer analysis" και "pyoxidizer upgrade") και περιορισμένη υποστήριξη για Terminfo και Readline, έλλειψη υποστήριξης για εκδόσεις εκτός από το Python 3.7, έλλειψη υποστήριξης για συμπίεση πόρων, αδυναμία διασταύρωσης μεταγλώττισης.

πηγή: https://pyoxidizer.readthedocs.io


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.