【问题标题】:How to Import 3rd party Python Library on IronPython Library in ASP.net如何在 ASP.net 中的 IronPython 库上导入第 3 方 Python 库
【发布时间】:2016-04-27 05:39:56
【问题描述】:

我有一个执行 python 脚本的函数。 python 脚本调用 jira 库以连接到它的服务器。然后它将返回数据并为其创建一个excel文件。当我手动执行python脚本时运行正常,但问题是当我在我的asp函数上调用它时它返回错误

没有模块名称jira

我猜 IronPython 没有 jira 库,因为我只是将它安装在 Python 库上。

我什至尝试通过 Process 执行脚本,它被触发了,但不幸的是它没有返回任何东西。

这是我通过 IronPython 执行 python 的代码

 ScriptRuntimeSetup setup = Python.CreateRuntimeSetup(null);
        ScriptRuntime runtime = new ScriptRuntime(setup);
        ScriptEngine engine = Python.GetEngine(runtime);
        var paths = engine.GetSearchPaths();
        paths.Add(@"C:\Users\jdecena\AppData\Local\Programs\Python\Python35\Lib");
        engine.SetSearchPaths(paths);
        ScriptSource source = engine.CreateScriptSourceFromFile("C:/Dave/jirautomatic/try.py");
        ScriptScope scope = engine.CreateScope();
        source.Execute(scope);
        dynamic Generate = scope.GetVariable("connect_to_jira_and_get_projects");
        dynamic gen = Generate();
        gen();

这是我通过进程执行 python 的代码

Process proc = new Process();
        proc.StartInfo.FileName = @"C:\Dave\jirautomatic\try.py";            
        proc.Start();
        proc.WaitForExit();
        proc.Dispose();

有没有办法可以将 Python 上的库包含到 IronPython 中?

TIA

【问题讨论】:

    标签: c# python asp.net ironpython


    【解决方案1】:

    当您通过 c# 或 ASP.NET 执行 python 时,这是一个常见的问题。唯一的原因是 C# 期望所有二进制文件都是程序集的形式,而 python 期望的是模块的形式。

    对于这个问题,有两种方法可以使用

    在系统变量中设置路径

    这是将模块设置为系统变量的简单方法。一旦进程启动,python 将自动搜索系统路径。您可以直接在 PATH 变量中设置路径,也可以创建名为 PYTHONPATH

    的新变量

    运行时设置路径

    这种方法是只为应用程序的生命周期设置。例如,如果任何应用程序想要使用项目中可用的“已知”模块,那么它可以使用 python 中的 sys 模块设置路径运行时。但请记住,一旦程序执行完毕,临时变量就会丢失。所以这种代码可以在 c# 或 python 中使用。在 c# 中使用 System.IO 命名空间或在 Python 中使用 sys 模块

    【讨论】:

    • 嗨,你能给我举个例子吗? GetSearchParth 和 SetSearchPath 还不够吗?
    • 嗨,这个链接可能会帮助你为你的进程设置变量link
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多