Я пытаюсь вызвать Python с использованием C # с Nuget IronPython - PullRequest
0 голосов
/ 20 февраля 2019

Я очень новичок в этом и мне нужна помощь.Я пытаюсь вызвать что-то базовое в соответствии с разделом ниже, используя C # с nuget IronPython.

Вот что я пытаюсь сделать:

 Microsoft.Scripting.Hosting.ScriptEngine py = Python.CreateEngine(); 
 Microsoft.Scripting.Hosting.ScriptScope s = py.CreateScope(); 



py.Execute("import numpy as np incomes = np.random.normal(27000, 15000, 10000) x = np.mean(incomes)", s);

Я продолжаю получать следующую ошибку: Исключение типа «Microsoft.Scripting.SyntaxErrorException» возникло в Microsoft.Scripting.dll, но не былообработано в коде пользователя

Любая помощь будет оценена спасибо

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Помните об отступах при работе с Python.Это работает:

using IronPython.Hosting;
namespace PythonFromCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Microsoft.Scripting.Hosting.ScriptEngine py = Python.CreateEngine();
            Microsoft.Scripting.Hosting.ScriptScope s = py.CreateScope();

            // add paths to where your libs are installed
            var libs = new[] { @"c:\path\to\lib1", @"c:\path\to\lib2" };
            py.SetSearchPaths(libs);

            py.Execute(
@"import numpy as np 
incomes = np.random.normal(27000, 15000, 10000) 
x = np.mean(incomes)"
            , s);
        }
    }
}
0 голосов
/ 20 февраля 2019

Ваш синтаксис Python неверен.Вставить разрывы строк (\n)

py.Execute("import numpy as np\nincomes = np.random.normal(27000, 15000, 10000)\nx = np.mean(incomes)", s);
...