απαιτήσεις: Ο προγραμματισμός Python είναι πολύ δημοφιλής στις μέρες μας, χρησιμοποιείται ευρέως στην ανάλυση δεδομένων και την επιστημονική έρευνα, τα μεγάλα μοντέλα, τη βαθιά μάθηση κ.λπ., ορισμένοι αλγόριθμοι μοντέλων είναι γραμμένοι σε python, πρέπει να χρησιμοποιούν .NET για την εκτέλεση σεναρίων python, τη μετάδοση παραμέτρων και τη λήψη αποτελεσμάτων. Οι διαδικτυακές λύσεις είναι: εκτέλεση διεργασιών, IronPython, pythonnet και τέλος pythonnet.
pythonnet-Python.NET
Το Python.NET είναι ένα πακέτο λογισμικού που επιτρέπει στους προγραμματιστές Python να ενσωματώνουν το .NET Universal Language Runtime (CLR) σχεδόν απρόσκοπτα και παρέχει στους προγραμματιστές .NET ισχυρά εργαλεία δέσμης ενεργειών εφαρμογών. Επιτρέπει στον κώδικα Python να αλληλεπιδρά με το CLR και μπορεί επίσης να χρησιμοποιηθεί για την ενσωμάτωση της Python σε εφαρμογές .NET.
Διεύθυνση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Προετοιμάστε το περιβάλλον Python
Αυτό το άρθρο χρησιμοποιεί το python-3.13.2-embed-amd64 ως περιβάλλον εκτέλεσης, αναφορά:
Python-3.13.2 πακέτο ενσωμάτωσης 64-bit λήψη:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Δημιουργία νέας κονσόλας .NET 8
Δημιουργήστε μια νέα αναφορά κονσόλας .NET 8 με την ακόλουθη αναφορά:
Δεδομένου ότι το pythonnet θα χρησιμοποιήσειΔυαδικός μορφοποιητήςτάξη, η ακόλουθη εξαίρεση θα γίνει κατά την εκτέλεση:
Ανεπίλυτη εξαίρεση. System.NotSupportedException: Η σειριοποίηση και η αποσειριοποίηση του BinaryFormatter είναι απενεργοποιημένες σε αυτήν την εφαρμογή. ΒλέπωΗ σύνδεση με υπερσύνδεσμο είναι ορατή.για περισσότερες πληροφορίες. Για να επιλύσετε το πρόβλημα, επεξεργαστείτε τον κόμβο .csproj <PropertyGroup> και προσθέστε την ακόλουθη διαμόρφωση:
Η πλήρης διαμόρφωση έχει ως εξής:
Το Py.GIL() είναι μια σημαντική λειτουργία στη βιβλιοθήκη Python.NET για την απόκτηση και την κυκλοφορία Global Interpreter Locks (GILs). Το GIL είναι ένας μηχανισμός στον διερμηνέα CPython που διασφαλίζει ότι μόνο ένα νήμα εκτελεί bytecode Python ανά πάσα στιγμή. Αυτό είναι σημαντικό σε ένα περιβάλλον πολλαπλών νημάτων, ειδικά εάν ο κώδικας Python και .NET αναμειγνύονται μεταξύ τους.
PythonΟ τύπος float της είναι στην πραγματικότητα ένας float διπλής ακρίβειας (64 bit), που αντιστοιχεί στον διπλό τύπο της C#.
Εκτελέστε απευθείας κώδικα python
Για απλό κώδικα python, ο οποίος μπορεί να εκτελεστεί απευθείας, ο κώδικας έχει ως εξής:
Καλέστε μια συνάρτηση python
Ο κωδικός έχει ως εξής:
Ανάπτυξη σε περιβάλλον Linux για δοκιμή
Διαθέσιμες για κανονική λειτουργία, οι δοκιμές είναι οι εξής:
Αναφορά:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή. |