Я пытаюсь использовать pythonnet на .NET Core на компьютере с Linux. Я скомпилировал его, используя конфигурацию ReleaseMonoPY3, в Windows, перед тем как скопировать выходную DLL на мою Linux-машину. Я также установил Python 3.7 на мою Linux-машину.
При выполнении примера кода:
static void Main(string[] args)
{
using (Py.GIL())
{
dynamic np = Py.Import("numpy");
Console.WriteLine(np.cos(np.pi * 2));
dynamic sin = np.sin;
Console.WriteLine(sin(5));
double c = np.cos(5) + sin(5);
Console.WriteLine(c);
dynamic a = np.array(new List<float> { 1, 2, 3 });
Console.WriteLine(a.dtype);
dynamic b = np.array(new List<float> { 6, 5, 4 }, dtype: np.int32);
Console.WriteLine(b.dtype);
Console.WriteLine(a * b);
Console.ReadKey();
}
}
Мое приложение закрывается. Это заканчивается на этой строке:
using (Py.GIL())
Я не получаю никаких сообщений об ошибках вообще. Он просто существует:
The program '[19030] ConsoleApp.dll' has exited with code 0 (0x0).
Как я могу заставить pythonnet работать в Linux .NET Core? Очевидно, есть некоторые ошибки P / Invoking. Можно ли к ним как-то добраться?