Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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
    {
        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?

like image 426
Rodrigo Strauss Avatar asked Nov 18 '09 12:11

Rodrigo Strauss


1 Answers

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);
like image 194
Tom E Avatar answered Sep 25 '22 11:09

Tom E