Nuitka, ένας μεταγλωττιστής Python που μπορεί να μετατρέψει εφαρμογές Python σε δυαδικά αρχεία C

Νύχτα

Nuitka ο μεταγλωττιστής βελτιστοποίησης Python που δημιουργεί εκτελέσιμα

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

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

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

Η Nuitka υποστηρίζει τις εκδόσεις Python 2.6, 2.7 ή 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11 και υποστηρίζει Linux, FreeBSD, NetBSD, macOS X και Windows, καθώς και υποστήριξη για αρχιτεκτονικές x86, x86_64 και ARM.

Τι νέο υπάρχει στο Nuitka 2.0;

Επί του παρόντος, Nuitka είναι στην έκδοση 2.0 που κυκλοφόρησε πρόσφατα και τονίζει ότι έχουν ενσωματώσει διάφορες βελτιώσεις και λειτουργίες στη διαμόρφωση του πακέτου, που σας επιτρέπει να ρωτήσετε τις τιμές των εγκατεστημένων πακέτων κατά τη μεταγλώττιση και να χρησιμοποιήσετε αυτές τις τιμές για να ορίσετε το backend. Η υποστήριξη για μεταβλητές στη διαμόρφωση απλοποιεί πολλές τυπικές εργασίες που προηγουμένως απαιτούσαν σύνδεση προσθηκών.

Επιπλέον, έχει προστεθεί Υποστήριξη για παραμέτρους που καθορίζονται από το χρήστη για να επηρεάσουν τη διαμόρφωση κάθε πακέτου. Αυτές οι παράμετροι μπορούν να διαβαστούν χρησιμοποιώντας τη νέα συνάρτηση get_parameter και να χρησιμοποιηθεί για την επιλογή της συμπεριφοράς των μονάδων. Για παράδειγμα, είναι δυνατό να διαμορφώσετε μια παράμετρο για απενεργοποίηση Numba JIT ή Torch JIT.

Εισήχθη η επιλογή «–include-onefile-external-data» για να καθορίσετε πρότυπα αρχείων δεδομένων που ορίζονται στη διαμόρφωση αλλά πρέπει να παρέχονται χωριστά από το εκτελέσιμο κατά τη μεταγλώττιση σε λειτουργία ενός αρχείου. Ομοίως, η επιλογή «–cf-προστασία» για να διαμορφώσετε τη λειτουργία προστασίας CFI (Control Flow Integrity) στο GCC, η οποία αποτρέπει παραβιάσεις της κανονικής σειράς εκτέλεσης (ροή ελέγχου).

Του άλλες αλλαγές που ξεχωρίζουν:

  • Προστέθηκε υποστήριξη για αποφάσεις λειτουργικών μονάδων, επιτρέποντας στους χρήστες να επηρεάσουν τη διαμόρφωση του Nuitka σε βάση ανά πακέτο.
  • Προστέθηκε υποστήριξη για διαμορφώσεις πακέτων Nuitka, διευκολύνοντας την αναζήτηση τιμών εγκατεστημένων πακέτων.
  • Εντοπισμός μεταγλωττισμένων εκτελέσιμων αρχείων που είναι πολύ μεγάλα για να αποφευχθούν παραβιάσεις ορίου μεγέθους.
  • Βελτιωμένη αναφορά και ικανότητα δημιουργίας δημοσίων σχέσεων με αλλαγές στο Nuitka-Watch.
  • Έχει εφαρμοστεί ανάλυση τύπου βρόχου, η οποία θα χρησιμοποιηθεί στο μέλλον για την υλοποίηση επιλεκτικών βελτιστοποιήσεων.
  • Έχουν προστεθεί βελτιστοποιήσεις για την επιτάχυνση της εργασίας με μη κοινοποιημένες μεταβλητές και μεταβλητές διαφυγής.
  • Λύση για ιδιωτικές λειτουργίες όπως οι υποδοχές Qt που δεν είχαν παραποιημένα ονόματα.
  • Διορθώστε την ανίχνευση πακέτων pip όταν χρησιμοποιείτε το Nuitka.
  • Βελτιώσεις στο lazy loading parser για pydantic.
  • Προστέθηκαν αρχεία δεδομένων για διάφορα πακέτα, όπως pyocd και cmsis_pack_manager.
  • Διορθώνει τον σωστό χειρισμό εκτεταμένων προδιαγραφών κατά το χρόνο εκτέλεσης.
  • Λύση για την αποφυγή αστοχιών κατά την εκτέλεση ορισμένων μεθόδων.
  • Βελτιώσεις στη συμπερίληψη πακέτων από τη γραμμή εντολών.
  • Συγκεκριμένες λύσεις για πλατφόρμες όπως Android, Windows και Debian.
  • Βελτιωμένη συμβατότητα με διαφορετικές εκδόσεις Python και λειτουργικά συστήματα.

τελικά αν είσαι ενδιαφέρεται να μάθει περισσότερα για αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.

Πώς να εγκαταστήσετε το Nuitka σε Linux;

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

Για να εγκαταστήσετε το Nuitka απλώς εκτελέστε την ακόλουθη εντολή:

pip install nuitka

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


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

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

*

*

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