2010-04-02 101 views
1

我想從C#執行python代碼,代碼如下。沒有模塊命名爲difflib

static void Main(string[] args) 
    { 
     ScriptEngine engine = Python.CreateEngine(); 
     ScriptSource source = engine.CreateScriptSourceFromFile(@"F:\Script\extracter.py"); 
     source.Execute(); 
    } 

我在線source.Execute()有問題,我得到錯誤「沒有模塊名爲difflib」。
我的代碼有什麼問題?

這是我的python代碼(extracter.py)。

import re 
import itertools 
import difflib 
print "Hello" 
+0

這是在黑暗中的實拍,但你運行的是什麼Python版本? – 2010-04-02 05:10:48

+0

我在.NET 2.0.50727.1433上使用IronPython 2.6(2.6.10920.0) – wearetherock 2010-04-02 08:19:55

回答

3

這看起來像您的引擎無法訪問Python標準庫 - 它沒有看到difflib.py。修復sys.path或將difflib.py從Python 2.6複製到f:\script文件夾。

reitertools模塊是用C#編寫的,並且是IronPython.modules.dll的一部分 - 這就是導入它們的原因。