Не удается использовать pythonnet в .NET Core (файл ConsoleApp.dll завершен с кодом 0) - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь использовать 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. Можно ли к ним как-то добраться?

...