|
|
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-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 installierenNächster:Angular 18 Serie (Einunddreißig) VS Code-Entwicklungsunterstützungs-Plugin
|