导入IronPython和Visual Studio 2015的问题

时间:2018-04-11 10:10:33

标签: c# python .net ironpython

我想在我的.NET C#Library中集成IronPython,但我总是遇到以下异常

  

其他信息:没有名为' modulename'

的模块

在我的C#库项目中,我安装了以下IronPython NuGet

  

安装包IronPython

     

安装包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#代码时,我得到了以下例外:

  

附加信息:没有名为numpy的模块

我不明白我在哪里以及如何添加此模块? 我只是在我的.NET项目中引用了IronPython DLL,而且我还没有任何可以添加此模块的文件夹

1 个答案:

答案 0 :(得分:1)

除了IronPython DLL,您还需要Python标准库脚本。

Download IronPython.StdLib.2.7.8.zip,将所有内容提取到文件夹

并将其添加到您的代码中:

ScriptEngine engine = Python.CreateEngine();

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

engine.SetSearchPaths(searchPaths);