2009-11-18 14 views
7

La importación siguiente funciona dentro de la solicitud de ipy.exe pero no funciona con IronPython ScriptRuntime dentro de un programa C# 4.0.IronPython ScriptRuntime equivalente a CPython PYTHONPATH

import ConfigParser 

código 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 utiliza la variable de entorno PYTHONPATH. ¿Cómo configuro esto en IronPython cuando uso ScriptRuntime?

Respuesta

13

Desea utilizar GetSearchPaths y SetSearchPaths en su objeto de motor. Puede analizar la variable de env de su elección y rellenar la ruta de búsqueda cuando inicialice su motor. Por ejemplo:

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

El intérprete IronPython (ipe.exe) utiliza la variable de entorno IRONPYTHONPATH. También puede ser una buena idea leer esto en SetSearchPaths, dependiendo de la aplicación. –

Cuestiones relacionadas