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