Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 1683|Απάντηση: 4

[Πηγή] Το .NET/C# καλεί το περιβάλλον Python για την εκτέλεση .py σεναρίων

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2025-2-11 16:01:21 | | | |
απαιτήσεις: Ο προγραμματισμός 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 ενσωματώστε πακέτα εγκαταστήστε πακέτα χρησιμοποιώντας pip
https://www.itsvse.com/thread-10941-1-1.html

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 για δοκιμή

Διαθέσιμες για κανονική λειτουργία, οι δοκιμές είναι οι εξής:



Αναφορά:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.




Προηγούμενος:Το Linux χρησιμοποιεί pyenv για να εγκαταστήσει το περιβάλλον Python
Επόμενος:Γωνιακή Σειρά 18 (Τριάντα Ένα) Πρόσθετο Βοήθειας Ανάπτυξης Κώδικα VS
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2025-2-11 16:08:17 |
Καλέστε μια συνάρτηση python με έναν πίνακα λίστας (<κλάση 'list'>) ως όρισμα


Ο κωδικός έχει ως εξής:


 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2025-2-11 16:25:40 |
Η C# καλεί μια συνάρτηση python για να πάρει την τιμή επιστροφής της πλειάδας <κλάση 'tuple'>

Ο κωδικός έχει ως εξής:



 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2025-2-24 09:27:40 |
CSnakes- Ένα εργαλείο για την ενσωμάτωση κώδικα Python σε έργα .NET

Πηγή:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Τεκμηρίωση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2025-9-1 16:01:12 |
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com