2009-11-18 20 views
7

以下導入在ipy.exe提示符內運行,但在C#4.0程序內使用IronPython ScriptRuntime失敗。相當於CPython的IronPython ScriptRuntime PYTHONPATH

import ConfigParser 

C#代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using IronPython.Hosting; 
using Microsoft.Scripting.Hosting; 

namespace CSharpDynamic 
{ 
    class Program 
    { 
     static int Main(string[] args) 
     { 
      ScriptRuntime python = Python.CreateRuntime(); 
      dynamic dynamicIni = 
python.UseFile(@"c:\test\WebCast\DynamicIni.py"); 

      return 0; 
     } 
    } 
} 

CPython的使用PYTHONPATH環境變量。如何在使用ScriptRuntime時在IronPython中進行配置?

回答

13

您想在引擎對象上使用GetSearchPaths和SetSearchPaths。你可以解析你選擇的env變量,並在初始化引擎時填充搜索路徑。例如:

var engine = Python.CreateEngine(DefaultEngineOptions()); 
var paths = engine.GetSearchPaths(); 
paths.Add("c:\\my_libs"); 
engine.SetSearchPaths(paths); 
+4

IronPython解釋器(ipe.exe)使用IRONPYTHONPATH環境變量。根據應用程序,將它讀入SetSearchPaths也是一個好主意。 – 2009-11-18 21:45:39