Я успешно использую pythonnet в приложении ac #.Сейчас я пытаюсь вызвать код pythonnet из цикла parallel.for.
Обычный цикл for работает нормально, но не при использовании параллельного интерфейса.Программа не отвечает и не отображает сообщение об ошибке.
(я пробовал разные способы сделать это, включая явный вызов Py.GIL и использование потоков. Но не смог заставить его работать)
Вот упрощенная версия моего кода:
static void Main(string[] args)
{
PythonEngine.Initialize();
dynamic np = PythonEngine.ImportModule("numpy");
dynamic[] Output = new dynamic[10];
dynamic[] Output2 = new dynamic[10];
for (int i = 0; i < 10; i++)
{
Output[i] = np.cos(np.pi * i);
}
Parallel.For(0, 10, i =>
{
Output2[i] = np.cos(np.pi * 2);
});
Console.ReadLine();
}