IronPython ScriptRuntime equivalent to CPython PYTHONPATH
The following import works inside ipy.exe prompt but fails using IronPython ScriptRuntime inside a C# 4.0 program.
import ConfigParser
C# code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
namespace CSharpDynamic
{
class Program
{
开发者_如何学Python static int Main(string[] args)
{
ScriptRuntime python = Python.CreateRuntime();
dynamic dynamicIni =
python.UseFile(@"c:\test\WebCast\DynamicIni.py");
return 0;
}
}
}
CPython uses PYTHONPATH environment variable. How do I configure this in IronPython when using ScriptRuntime?
You want to use GetSearchPaths and SetSearchPaths on your engine object. You could parse the env variable of your choice and populate the search path when you initialize your engine. For example:
var engine = Python.CreateEngine(DefaultEngineOptions());
var paths = engine.GetSearchPaths();
paths.Add("c:\\my_libs");
engine.SetSearchPaths(paths);
精彩评论