Изисквания: 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 embed пакет 64-битово изтегляне:Входът към хиперлинк е видим.
Създайте нова .NET 8 конзола
Създайте нова референция за .NET 8 конзола със следния референт:
Тъй като pythonnet ще използваBinaryFormatterклас, следното изключение ще бъде хвърлено по време на изпълнението:
Необработено изключение. System.NotSupportedException: BinaryFormatter сериализацията и десериализацията са изключени в това приложение. ВиждамВходът към хиперлинк е видим.за повече информация. За да решите проблема, редактирайте .csproj <PropertyGroup> възела и добавете следната конфигурация:
Пълната конфигурация е следната:
Py.GIL() е важна функция в библиотеката Python.NET за получаване и освобождаване на глобални заключвания на интерпретатори (GIL). GIL е механизъм в интерпретатора CPython, който гарантира, че само една нишка изпълнява Python байткод по всяко време. Това е важно в многонишкова среда, особено ако Python и .NET кодът са смесени.
Float типът на Python всъщност е с двойна прецизност float (64 бита), съответстващ на двойния тип на C#.
Изпълнение на Python код директно
За прост python код, който може да се изпълнява директно, кодът е следният:
Извикай python функция
Кодът е следният:
Разполагане в Linux среда за тестване
Достъпни за нормална работа, тестовете са следните:
Препратка:
Входът към хиперлинк е видим.
Входът към хиперлинк е видим.
Входът към хиперлинк е видим. |