IronPython ScriptRuntime эквивалентен CPython PYTHONPATH - PullRequest
7 голосов
/ 18 ноября 2009

Следующий импорт работает в приглашении ipy.exe, но завершается неудачно с помощью IronPython ScriptRuntime внутри программы на C # 4.0.

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. Как мне настроить это в IronPython при использовании ScriptRuntime?

1 Ответ

14 голосов
/ 18 ноября 2009

Вы хотите использовать GetSearchPaths и SetSearchPaths на вашем объекте движка. Вы можете проанализировать переменную env по вашему выбору и заполнить путь поиска при инициализации вашего движка. Например:

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