我正在使用C#webapp托管我的IronPython:
var engine = Python.CreateEngine();
var scope = engine.CreateScope();
var script = Engine.CreateScriptSourceFromString(pythonCode, SourceCodeKind.Statements);
script.Execute(scope);
我的python代码如下所示:
import clr
clr.AddReference('System.Core')
from System import DateTime
theDate = DateTime.Today()
会产生此错误:
IronPython.Runtime.Exceptions.ImportException: Cannot import name DateTime
我花了一些时间在谷歌上,我发现的大部分代码似乎都不再适用了。
我的IronPython运行时版本是v2.0.50727 - 我应该升级吗?我原以为DateTime
会从早期的门进来吗?
答案 0 :(得分:11)
尝试添加对mscorlib的引用,而不是System.Core。我们在某个时候更改了默认的托管行为(2.0.1?2.0.2?),这样在托管时默认完成。您可以使用以下主机代码执行此操作:
engine.Runtime.LoadAssembly(typeof(string).Assembly);
答案 1 :(得分:9)
刚刚检查过,问题是你试图将今天称为方法而不是属性。试试这个(不需要添加对System.Core的引用):
import clr
from System import DateTime
theDate = DateTime.Today
print theDate