Проблема с импортом из ironpython и visual studio 2015

Я хочу интегрировать IronPython в свою библиотеку .NET C#, но у меня всегда есть следующее исключение

Additional information: No module named 'modulename'

В моем проекте библиотеки C# я установил следующий NuGet IronPython

Install-Package IronPython

Install-Package IronPython.StdLib

Простой код Python (getLogScaledPNG.py):

import numpy as np    
import matplotlib.pyplot as plt

def getLogScaledPNG(filename):      
        data = plt.imread(filename);    
        data[data == 0.] = np.nan;      
        logdata = np.log(data);         
        plt.imsave("logimage.png", logdata, cmap="gray");
        print 'Scaled Image Saved'

Код C#:

using IronPython.Hosting;

var ipy = Python.CreateRuntime();

dynamic getLogScaledPNG = ipy.UseFile(@".\PythonScripts\getLogScaledPNG.py");
getLogScaledPNG.getLogScaledPNG("toto.png");

Когда я выполняю этот код C#, у меня возникает следующее исключение:

Additional information: No module named numpy

Не понимаю, где и как добавить этот модуль? У меня просто есть ссылка на библиотеки DLL IronPython в моем проекте .NET, и у меня нет папок, в которые я могу добавить этот модуль.

3
0
577
1

Ответы 1

В дополнение к библиотекам DLL IronPython вам потребуются скрипты стандартной библиотеки Python.

Скачать IronPython.StdLib.2.7.8.zip, распаковать все в папку

И добавьте это в свой код:

ScriptEngine engine = Python.CreateEngine();

var searchPaths = engine.GetSearchPaths();
searchPaths.Add(@"C:\yourLibFolder");

engine.SetSearchPaths(searchPaths);

Другие вопросы по теме