Как настроить виртуальную среду Anaconda при работе с IronPython? - PullRequest
0 голосов
/ 29 мая 2019

Я хочу запустить скрипт на C # с использованием IronPython. Он работает нормально, за исключением того, что IronPython использует мою базовую установку Python вместо среды Anaconda.

Я попытался запустить скрипт как обычный процесс (т.е. без IronPython) и передать скрипт в качестве аргумента. Это работает, но я теряю функциональность IronPython. Например. Возможность опрашивать переменные Python.

Я также пытался заменить строку "Python" на расположение к Python.exe в моей среде anaconda, а также имя среды Anaconda, но это приводит к ошибкам на "неизвестном языке".

var runtime = Python.CreateRuntime();
var engine = runtime.GetEngine("Python");   //I've tried replacing this with location of python.exe in the Ananconda environment but it fails

var script = "C:\\Documents\\my_pythonScript.py";
var source = engine.CreateScriptSourceFromFile(script);
var eIO = engine.Runtime.IO;

var results = new MemoryStream();
eIO.SetOutput(results, Encoding.Default);

var scope = engine.CreateScope();
source.Execute(scope);   

string str(byte[] x) => Encoding.Default.GetString(x);
string Results = str(results.ToArray());

Сообщение об ошибке связано с тем, что библиотека Python, присутствующая в моей среде anaconda, не существует в моей базовой установке. (В идеале я бы не хотел устанавливать много библиотек на свою базу.)

Полагаю, правильный путь - передать имя среды Anaconda в движок, но я его пока не нашел.

Спасибо, Ian

...