安装IronPython模块

时间:2019-07-04 08:47:24

标签: winforms pip ironpython python-module

我在Visual Studio Winform C#解决方案中添加了IronPython Nuget包,以使用代码中的Python脚本。

以下是我的代码:

private void BtnJsonPy_Click(object sender, EventArgs e)
{
    // 1. Create Engine
    var engine = Python.CreateEngine();

    //2. Provide script and arguments
    var script = @"C:\path\repos\SamplePy\SamplePy2\SamplePy2.py"; // provide full path
    var source = engine.CreateScriptSourceFromFile(script);

    // dummy parameters to send Python script 
    int x = 3;
    int y = 4;

    var argv = new List<string>();
    argv.Add("");
    argv.Add(x.ToString());
    argv.Add(y.ToString());

    engine.GetSysModule().SetVariable("argv", argv);

    //3. redirect output
    var eIO = engine.Runtime.IO;

    var errors = new MemoryStream();
    eIO.SetErrorOutput(errors, Encoding.Default);

    var results = new MemoryStream();
    eIO.SetOutput(results, Encoding.Default);

    //4. Execute script
    var scope = engine.CreateScope();

    var lib = new[]
    {
        "C:\\path\\SamplePy\\packages\\IronPython.2.7.9\\lib",
        "C:\\path\\SamplePy\\packages\\IronPython.2.7.9",
    };

    engine.SetSearchPaths(lib);
    engine.ExecuteFile(script, scope);
    //source.Execute(scope);

    //5. Display output
    string str(byte[] x1) => Encoding.Default.GetString(x1);

    Console.WriteLine("Errrors");
    Console.WriteLine(str(errors.ToArray()));
    Console.WriteLine();
    Console.WriteLine("Results");
    Console.WriteLine(str(results.ToArray()));
}

我收到有关未安装模块的错误。因此,我打开了IronPython驻留在我的代码解决方案中的packages文件夹,并尝试使用pip安装模块,但是命令提示符始终告诉您pip无法识别。

我尝试了以下操作,打开命令提示符,将目录更改为具有IronPython软件包的代码文件,并使用pip命令,但失败。我也尝试了“ python -m pip install pillow”命令,但这也失败了。

那么我应该独立于“ ironpython.net/download”安装IronPython,然后在保存IronPython的路径上安装必要的模块,然后在代码中使用这些引用吗?这种方法行得通吗?。

任何建议,文档或代码方法都很好。

在此先感谢!!! ..

0 个答案:

没有答案