Επέκταση και Ενσωμάτωση του Διερμηνέα της Python

Αυτό το έγγραφο περιγράφει πώς να γράφετε modules σε C ή C++ για να επεκτείνετε τον διερμηνέα της Python με νέα modules. Αυτά τα modules δεν μπορούν μόνο να ορίσουν νέες συναρτήσεις αλλά και νέους τύπους αντικειμένων και τις μεθόδους τους. Το έγγραφο επίσης περιγράφει πώς να ενσωματώσετε τον διερμηνέα της Python σε μια άλλη εφαρμογή, ώστε να χρησιμοποιείται ως γλώσσα επέκτασης. Τέλος, δείχνει πώς να μεταγλωττίζετε και να συνδέετε τα modules επέκτασης ώστε να μπορούν να φορτώνονται δυναμικά (κατά την εκτέλεση) στον διερμηνέα, εφόσον το υποκείμενο λειτουργικό σύστημα υποστηρίζει αυτήν τη λειτουργία.

Αυτό το έγγραφο προϋποθέτει βασικές γνώσεις Python. Για μια ανεπίσημη εισαγωγή στη γλώσσα, δείτε τοΤο Python Tutorial. ΤοThe Python Language Reference παρέχει έναν πιο επίσημο ορισμό της γλώσσας. ΤοThe Python Standard Library τεκμηριώνει τους υπάρχοντες τύπους αντικειμένων, τις συναρτήσεις και τα modules (ενσωματωμένα και γραμμένα σε Python και τα δύο) που προσφέρουν στη γλώσσα το ευρύ πεδίο εφαρμογών της.

Για μια λεπτομερή περιγραφή ολόκληρου του Python/C API, δείτε το ξεχωριστόPython/C API Reference Manual.

Προτεινόμενα εργαλεία τρίτων

Αυτός ο οδηγός καλύπτει μόνο τα βασικά εργαλεία για τη δημιουργία επεκτάσεων που παρέχονται ως μέρος αυτής της έκδοσης της CPython. Εργαλεία τρίτων όπως ταCython,cffi,SWIG καιNumba προσφέρουν τόσο απλούστερες όσο και πιο εξελιγμένες προσεγγίσεις για τη δημιουργία επεκτάσεων σε C και C++ για την Python.

Δείτε επίσης

Οδηγός Χρήστη για Δημιουργία πακέτων Python: Δυαδικές Επεκτάσεις

Ο Οδηγός Χρήστη για Δημιουργία πακέτων της Python δεν καλύπτει μόνο διάφορα διαθέσιμα εργαλεία που απλοποιούν τη δημιουργία δυαδικών επεκτάσεων, αλλά επίσης συζητά και τους διάφορους λόγους για τους οποίους μπορεί να είναι επιθυμητή η δημιουργία ενός module επέκτασης σε πρώτη φάση.

Δημιουργία επεκτάσεων χωρίς εργαλεία τρίτων

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

Ενσωμάτωση του χρόνου εκτέλεσης της CPython σε μεγαλύτερη εφαρμογή

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