Я хочу запустить скрипт на 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