에 대한 수입 오류가 내가 가진 파이썬 파일이 내용 등 :는 C# 응용 프로그램에서 IronPython을 포함하기 - URLLIB
engine = Python.CreateEngine();
ScriptSource source = engine.CreateScriptSourceFromFile("test.py");
ScriptScope scope = engine.CreateScope();
ObjectOperations op = engine.Operations;
source.Execute(scope); // class object created
object klaz = scope.GetVariable("A"); // get the class object
object instance = op.Call(klaz, "blabla waarde"); // create the instance
object method = op.GetMember(instance, "getVal"); // get a method
string result = (string)op.Call(method); // call method and get result (9)
Console.WriteLine("Result: " + result); //output: 'Result: blabla waarde'
:
import re
import urllib
class A(object):
def __init__(self, x):
self.x = x
def getVal(self):
return self.x
def __str__(self):
return "instance of A with value '%s'" % (self.getVal())
가 나는 또한 다음 코드를 사용하여 간단한 C# 콘솔 프로젝트가 (나는 이것을 this stackoverflow querstion and answer에서 얻었습니다.)
파이썬 파일에있는 import urllib 문을 생략하면 모든 것이 잘 동작합니다.
를 (그것이 re 모듈을 찾아 의미)하지만 곧 내가 추가 중 하나로 import urllib
또는 import urllib2
나는 다음과 같은 예외가 얻을 : 그래서 어떻게 든
ImportException was unhandled
No module named urllib
는 URLLIB를 찾을 수 있습니다. IronPython lib 폴더를 확인하고 urllib와 urllib 2가 모두 존재합니다. C# 코드에서 urllib를 가져 오면 동일한 예외가 발생합니다. (engine.ImportModule("urllib");
)
어떤 아이디어가?
파이썬 코드에서 가져 오기를 관리하고 C# 코드에서 가져 오기를 관리하고 싶습니다.
(그래서 같은 물건을 피하기 위해 싶습니다 engine.ImportModule("urllib");
)
편집 : 실제로 (아마도 누군가가 대안이있다)이 사용하려고하고있어 일부 추가 정보 :
I 주요 C# 응용 프로그램이 있고 파이썬 스크립트는 기본 응용 프로그램의 확장 또는 플러그인으로 사용됩니다.
저는 플러그인을 컴파일 할 필요가 없도록 Python을 사용하고 있습니다.
(매우 늦은) 당신의 대답을 받아 들여서 미안 하구나, 나는 그 질문을 다시 보지 않았다. 완벽하게 작동합니다. –