Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 1683|Odpověď: 4

[Zdroj] .NET/C# volá prostředí Python k vykonání .py skriptů

[Kopírovat odkaz]
Zveřejněno 11. 2. 2025 16:01:21 | | | |
Požadavky: Programování v Pythonu je dnes velmi populární, široce se používá v analýze dat a vědeckém výzkumu, velkých modelech, hlubokém učení atd., některé modelové algoritmy jsou psány v pythonu, je potřeba použít .NET pro spouštění python skriptů, předávání parametrů a získávání výsledků. Online řešení jsou: spouštění procesů, IronPython, pythonnet a nakonec pythonnet.

pythonnet-Python.NET

Python.NET je softwarový balíček, který umožňuje programátorům v Pythonu téměř bezproblémově integrovat .NET Universal Language Runtime (CLR) a poskytuje vývojářům .NET výkonné nástroje pro skriptování aplikací. Umožňuje interakci Python kódu s CLR a lze jej také použít k vkládání Pythonu do .NET aplikací.

Adresa:Přihlášení k hypertextovému odkazu je viditelné.

Připravte prostředí Pythonu

Tento článek používá python-3.13.2-embed-amd64 jako běžící prostředí, odkaz:

Python embedové balíčky instalují balíčky pomocí pip
https://www.itsvse.com/thread-10941-1-1.html

Python-3.13.2 embed balíček 64-bit ke stažení:Přihlášení k hypertextovému odkazu je viditelné.

Vytvořte novou .NET 8 konzoli

Vytvořte novou .NET 8 konzolovou referenci s následujícím odkazem:

Protože pythonnet použijeBinaryFormattertřída, během popravy bude vyhozena následující výjimka:

Neřešená výjimka. System.NotSupportedException: BinaryFormatter serializace a deserializace jsou v této aplikaci zakázány. VidětPřihlášení k hypertextovému odkazu je viditelné.pro více informací.

Pro vyřešení problému upravte uzel .csproj <PropertyGroup> a přidejte následující konfiguraci:

Kompletní konfigurace je následující:

Py.GIL() je důležitou funkcí v knihovně Python.NET pro získávání a uvolňování Global Interpreter Locks (GIL). GIL je mechanismus v interpreteru CPython, který zajišťuje, že v daném okamžiku vykonává pouze jedno vlákno Python bajtkód. To je důležité v prostředí s více vlákny, zvláště pokud jsou kód Pythonu a .NET smíchány.

Pythonův float typ je ve skutečnosti plovoucí formát s dvojitou přesností (64 bitů), což odpovídá dvojitému typu v C#.

Přímo spouštějte python kód

Pro jednoduchý python kód, který lze spustit přímo, je kód následující:



Zavolejte python funkci

Kód je následující:



Nasazení do prostředí Linux pro testování

Testy jsou dostupné pro běžný provoz a jsou následující:



Odkaz:
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.




Předchozí:Linux používá pyenv k instalaci prostředí Python
Další:Angular 18 Series (Thirty-One) VS plugin pro pomoc při vývoji kódu
 Pronajímatel| Zveřejněno 11. 2. 2025 16:08:17 |
Zavolejte python funkci s tabulovým polem (<class 'list'>) jako argumentem


Kód je následující:


 Pronajímatel| Zveřejněno 11. 2. 2025 v 16:25:40 |
C# volá pythonovou funkci, aby získala n-tici <třída 'tice'> vrácení hodnoty

Kód je následující:



 Pronajímatel| Zveřejněno 24. 2. 2025 09:27:40 |
CSnakes- Nástroj pro vkládání python kódu do .NET projektů

Zdroj:Přihlášení k hypertextovému odkazu je viditelné.
Dokumentace:Přihlášení k hypertextovému odkazu je viditelné.
 Pronajímatel| Zveřejněno 1. 9. 2025 16:01:12 |
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com