Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 1683|Antwort: 4

[Quelle] .NET/C# ruft die Python-Umgebung auf, um .py Skripte auszuführen

[Link kopieren]
Veröffentlicht am 11.2.2025, 16:01:21 | | | |
Anforderungen: Python-Programmierung ist heutzutage sehr beliebt und wird in der Datenanalyse und wissenschaftlicher Forschung, großen Modellen, Deep Learning usw. weit verbreitet eingesetzt. Einige Modellalgorithmen sind in Python geschrieben und benötigen .NET, um Python-Skripte auszuführen, Parameter zu übergeben und Ergebnisse zu erhalten. Die Online-Lösungen sind: Prozessausführung, IronPython, Pythonnet und schließlich Pythonnet.

pythonnet-Python.NET

Python.NET ist ein Softwarepaket, das es Python-Programmierern ermöglicht, die .NET Universal Language Runtime (CLR) nahezu nahtlos zu integrieren und .NET-Entwicklern leistungsstarke Anwendungsskriptwerkzeuge bereitstellt. Es ermöglicht Python-Code, mit dem CLR zu interagieren, und kann auch verwendet werden, um Python in .NET-Anwendungen einzubetten.

Adresse:Der Hyperlink-Login ist sichtbar.

Bereite die Python-Umgebung vor

Dieser Artikel verwendet python-3.13.2-embed-amd64 als laufende Umgebung, Referenz:

Python-Embed-Pakete installieren Pakete mit pip
https://www.itsvse.com/thread-10941-1-1.html

Python-3.13.2 Embed-Paket 64-Bit-Download:Der Hyperlink-Login ist sichtbar.

Erstellen Sie eine neue .NET 8-Konsole

Erstellen Sie eine neue .NET 8-Konsolenreferenz mit folgender Referenz:

Da Pythonnet verwendet wirdBinärFormatterKlasse wird die folgende Ausnahme während der Ausführung geworfen:

Unbearbeitete Ausnahme. System.NotSupportedException: BinaryFormatter-Serialisierung und Deserialisierung sind in dieser Anwendung deaktiviert. SieheDer Hyperlink-Login ist sichtbar.Für weitere Informationen.

Um das Problem zu lösen, bearbeite den .csproj-Knoten <PropertyGroup> und füge folgende Konfiguration hinzu:

Die vollständige Konfiguration ist wie folgt:

Py.GIL() ist eine wichtige Funktion in der Python.NET-Bibliothek zum Erlangen und Freigeben von Global Interpreter Locks (GILs). GIL ist ein Mechanismus im CPython-Interpreter, der sicherstellt, dass zu jedem Zeitpunkt nur ein Thread Python-Bytecode ausführt. Das ist in einer Multithread-Umgebung wichtig, besonders wenn Python- und .NET-Code miteinander vermischt werden.

Pythons Float-Typ ist tatsächlich ein Double-Precision-Float (64 Bit), entsprechend dem Double-Typ von C#.

Führe Python-Code direkt aus

Für einfachen Python-Code, der direkt ausgeführt werden kann, ist der Code wie folgt:



Rufe eine Python-Funktion auf

Der Code lautet wie folgt:



Deploy in der Linux-Umgebung zum Testen

Für den normalen Betrieb verfügbar, sind die Tests wie folgt:



Referenz:
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.




Vorhergehend:Linux verwendet pyenv, um die Python-Umgebung zu installieren
Nächster:Angular 18 Serie (Einunddreißig) VS Code-Entwicklungsunterstützungs-Plugin
 Vermieter| Veröffentlicht am 11.2.2025, 16:08:17 |
Rufe eine Python-Funktion mit einem Listenarray (<Klasse 'list'>) als Argument auf


Der Code lautet wie folgt:


 Vermieter| Veröffentlicht am 11.2.2025, 16:25:40 |
C# ruft eine Python-Funktion auf, um den Tuple-<Klasse 'tuple'> Rückgabewert zu erhalten

Der Code lautet wie folgt:



 Vermieter| Veröffentlicht am 24.2.2025, 09:27:40 |
CSnakes- Ein Tool zur Einbettung von Python-Code in .NET-Projekte

Quelle:Der Hyperlink-Login ist sichtbar.
Dokumentation:Der Hyperlink-Login ist sichtbar.
 Vermieter| Veröffentlicht am 1.9.2025, 16:01:12 |
Kompilieren in Bytecode-Ausführung

Referenz:Der Hyperlink-Login ist sichtbar.
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com