Я полный нуб, когда дело доходит до IronPython. Мне нужно вызвать скрипт py с веб-сайта ASP.NET и получить следующий код:
var ipy = IronPython.Hosting.Python.CreateRuntime();
dynamic test = ipy.UseFile(Server.MapPath(@"~\python\test.py"));
test.DoWork();
Используемая версия IronPython - 2.7.
Сторонний Python-файл, который мне нужно вызвать, имеет следующие директивы импорта:
import sys
from array import *
from subprocess import *
Я получаю сообщение об ошибке «Нет модуля с именем подпроцесса». Я скопировал файл subprocess.py из установочного каталога IronPython, но я предполагаю, что мне нужно сослаться на него в коде C #?
Спасибо.
EDIT:
Я нашел решение:
ScriptEngine scriptEngine = Python.CreateEngine();
var sp = scriptEngine.GetSearchPaths();
sp.Add(Server.MapPath(@"~\python\lib"));
scriptEngine.SetSearchPaths(sp);
var scope = scriptEngine.Runtime.ExecuteFile(Server.MapPath(@"~\python\test.py"));
Если у кого-то есть какие-либо комментарии / улучшения, пожалуйста, не стесняйтесь подробно рассказывать, как я нахожусь в новом свете со всей этой малярией Python / IronPython.