2009-09-24 4 views
7

에서 날짜 시간을 사용할 수 없습니다 :난과 같이 C#을 웹 애플리케이션 내 IronPython의를 개최하고있어 IronPython의

var engine = Python.CreateEngine(); 
var scope = engine.CreateScope(); 
var script = Engine.CreateScriptSourceFromString(pythonCode, SourceCodeKind.Statements); 
script.Execute(scope); 

그리고 내 파이썬 코드는 다음과 같습니다 :이 오류가 발생합니다

import clr 
clr.AddReference('System.Core') 

from System import DateTime 
theDate = DateTime.Today() 

:

IronPython.Runtime.Exceptions.ImportException: Cannot import name DateTime 

Google에서 시간을 보내고 찾은 대부분의 코드는 더 이상 작동하지 않습니다.

My IronPython 런타임 버전은 v2.0.50727입니다. 업그레이드해야합니까? 나는 DateTime가 빠른 문에서 있었을 것이다라고 생각했을 텐데?

+0

정확히 제공되는 오류 메시지는 무엇입니까? 파이썬은 속성에 대괄호를 사용합니까? (그렇지 않다면'DateTime.Today'을 시도하십시오.) –

+0

2.0.50727은 IronPython 버전 번호 인 btw보다는 CLR 버전 번호처럼 들립니다. ipy를 실행하면 어떤 버전이 나타 납니까? –

답변

11

시도가 참조 대신 System.Core의 mscorlib에에 추가. 우리는 어떤 시점 (2.0.1? 2.0.2?)에서 기본 호스팅 동작을 변경하여 호스팅 할 때이 작업이 기본적으로 수행되도록했습니다. 다음과 같이 호스팅 코드에서이 작업을 수행 할 수 있습니다.

engine.Runtime.LoadAssembly(typeof(string).Assembly); 
+0

고마워, 그 자리에 있었어. – littlecharva

9

방금 ​​확인한 문제는 속성 대신 오늘 전화를 메서드로 호출하려고한다는 것입니다. (System.Core에 대한 참조를 추가 할 필요)이 대신을 시도하지 :

import clr 
from System import DateTime 
theDate = DateTime.Today 
print theDate 
+0

질문을 살펴보면 오류는 "오늘"이 기능으로 불려지는 것이 아니라 수입 실패로 인한 것 같습니다. – Rohit

+0

@Rohit : 오류 메시지가 무엇인지 알려주지 않았기 때문에 실제로 알 수는 없습니다. 대괄호를 사용하면 오류 메시지가 나타납니다. –

+0

가져 오기 명령에서 예외가 발생하여 오늘 호출에 도달하지 못했습니다. 어쨌든 도움 주셔서 감사합니다. – littlecharva

관련 문제