Jestem kompletnym noobem, jeśli chodzi o IronPython. Muszę zadzwonić do skryptu py z witryny ASP.NET, i mają następujący kod:Odwoływanie się do "importowania" zestawów Pythona podczas wywoływania z IronPython w języku C#
var ipy = IronPython.Hosting.Python.CreateRuntime();
dynamic test = ipy.UseFile(Server.MapPath(@"~\python\test.py"));
test.DoWork();
Wersja IronPython używam 2.7.
The 3rd Party plik python Muszę zadzwonić posiada następujące wytyczne importowania:
import sys
from array import *
from subprocess import *
Otrzymuję błąd "Nr moduł o nazwie podproces". Skopiowałem plik subprocess.py z katalogu instalacyjnego IronPython Lib, ale zakładam, że muszę do niego linkować w kodzie C#?
Dzięki.
EDIT:
znalazłem rozwiązanie:
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"));
Jeśli ktoś ma jakieś uwagi/ulepszenia proszę czuć swobodnie rozwinąć skoro jestem w nowej ziemi z tym wszystkim Pythonie/IronPython malarky.
Tylko uwaga: można to zrobić także od wewnątrz skryptu Python, jeśli chciał, by [modyfikacji 'sys.path'] (http: // docs.python.org/install/index.html#inst-search-path). Możesz również zamieścić swoje rozwiązanie jako odpowiedź i zaakceptować je, zamiast trzymać je w treści pytania. – Cameron
Dzięki Cameron. Próbowałem opublikować to jako odpowiedź, ale ponieważ jestem nowym użytkownikiem, nie mogłem przez 8 godzin. Mam nowy problem, który próbuje teraz przekazywać argumenty ... – pfeds