在 C# 中从 IronPython 调用时引用 Python“导入”程序集

2024-01-03

对于 IronPython,我完全是个菜鸟。我需要从 ASP.NET 网站调用 py 脚本,并具有以下代码:

var ipy = IronPython.Hosting.Python.CreateRuntime();
dynamic test = ipy.UseFile(Server.MapPath(@"~\python\test.py"));
test.DoWork();

我使用的 IronPython 版本是 2.7。

我需要调用的第 3 方 python 文件具有以下导入指令:

import sys
from array import *
from subprocess import *

我收到错误“没有名为子进程的模块”。我已从 IronPython 安装 Lib 目录复制了 subprocess.py 文件,但我认为我需要在 C# 代码中链接到它?

Thanks.

EDIT:

我找到了解决方案:

ScriptEngine scriptEngine = Python.CreateEngine();

var sp = scriptEngine.GetSearchPaths();
sp.Add(Server.MapPath(@"~\python\lib"));
scriptEngine.SetSearchPaths(sp);

var scope = scriptEngine.Runtime.ExecuteFile(Server.MapPath(@"~\python\test.py"));

如果有人有任何意见/改进,请随时详细说明,因为我对所有这些 Python/IronPython 的胡言乱语处于新的领域。


执行此操作的另一种方法:

dynamic sys = scriptEngine.ImportModule("sys");            
sys.path.append(somePath);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中从 IronPython 调用时引用 Python“导入”程序集 的相关文章

随机推荐

  • 如何在 Safari 中使用 AJAX 调用之前的 WebShareAPI?

    当用户单击我们的付费网站上的共享按钮时 我们会通过异步调用生成一个令牌 该令牌允许人们单击共享链接绕过付费墙 我添加了对 Web Share API 的支持 在触发之前首先调用令牌navigator share 沿着这些思路 fetchCa
  • 如何从 Z 缓冲区获取 Z 值

    我在 OpenGL 中绘图时遇到问题 我需要准确查看深度缓冲区中放置的值 谁能告诉我如何检索这些值 谢谢 克里斯 Use glReadPixels http www opengl org sdk docs man xhtml glReadP
  • C# 建立从笔记本电脑内部蓝牙 4.0 到蓝牙低功耗 (BLE) 外设的流

    我正在尝试编写一个连接到蓝牙低功耗设备 BLE 的程序 然后在更新时或在给定的时间间隔读取特征 我的外设是 Texas Instruments CC2540 BLE 设备 我的出发点是查看 TI 的示例程序 它有一个心率监视器 http p
  • 我可以在 El Capitan 上安装 Xcode 8.3

    我可以在不更新 Mac 操作系统的情况下安装 xcode 8 3 即 OS X El Capitan 版本 10 11 6 我在苹果网站上找不到任何参考资料 但是 这个link https stackoverflow com a 10335
  • 使用 PdfDocument 在 Android 中生成自定义尺寸的 PDF

    Pdf文档 https developer android com reference android graphics pdf PdfDocument是一个可以从 Android 视图生成 PDF 的类 您只需添加一个视图即可PdfDoc
  • 如何将复选框标记为已签入角度4

    我对 Angular 2 很陌生 我需要在单击按钮时标记复选框 我在循环中有一些复选框 例如 tr td td tr
  • 节点在异步函数完成之前退出

    我有一个返回承诺的函数 我试图在异步函数中等待它 问题是程序立即完成 而不是等待承诺 异步测试 js function doItSlow const deferred new Promise setTimeout gt console lo
  • 最好将项目添加到集合中,或将最终列表转换为集合?

    我有一些数据看起来像这样 ID1 ID2 ID3 ID1 ID4 ID5 ID3 ID5 ID7 ID6 其中每一行都是一个组 我的目标是为每个 ID 建立一个字典 然后是与其共享 gt 1 个组的一组其他 ID 例如 此数据将返回 ID1
  • 检测复制或相似的文本块

    我有很多关于 Markdown 格式编程的文本 有一个构建过程能够将这些文本转换为 Word HTML 并执行简单的验证规则 例如拼写检查或检查文档是否具有所需的标题结构 我想扩展该构建代码以检查所有文本中的复制粘贴或类似块 是否有任何现有
  • 字符编码问题

    我需要将其保存到数据库 mysql 中并将其显示出来 我的数据库是utf8 general ci 我 i visib i i 我 s i s xyg 我 ivi g i w d y d z 我 w ys z 我很忙 bu v ig y 我
  • Android Gradle DexException:多个 dex 文件定义 Lorg/hamcrest/Description

    com android dex DexException 多个 dex 文件定义 Lorg hamcrest Description 尝试通过以下方式进行调试构建 测试时发生安卓工作室 or via Gradle我的应用程序上的命令行 发布
  • HTML5 视频色差 Chrome 和 Internet Explorer

    我正在使用 HTML5 视频标签通过以下代码在我的网站上播放短视频
  • 找不到值类型为 Boolean 的属性“app:vm”的 GETTER

    我正在尝试在我的自定义控件中使用本机 2 路 Android 数据绑定 所以我在 xml 中有类似的东西
  • Chrome刷新右键重新加载选项不可用

    我正在尝试做一个hard reload and empty cache在 Chrome 中 因为之前加载的网站不断出现在localhost我正在使用的端口 问题是右键单击选项似乎已停止工作 即 当我右键单击刷新按钮时没有任何反应 只能单击左
  • 为什么模板可以直接使用$this关键字?

    我是 PHP 的新手 今天我在 Magento 中看到一些代码如下top phtml div class nav container ul li class home a href a li ul div
  • 如何使用 has_one 关联连接关联表

    在我的 Rails 应用程序中 我只要求用户在注册时输入电子邮件和姓名 然后让他们可以选择为其个人资料提供更完整的联系方式 因此 我有一个与 Contact rb 关联的 User rb 模型 即 User rb has one conta
  • 查找最大的空闲内存块

    当内存碎片化时 有时会出现内存不足的问题 是否有可能找到最大的空闲内存块 我使用 Delphi 2007 和 FastMM 在 Windows XP 上开发并在 Windows 2003 上运行应用程序 Regards EDIT 我可以添加
  • 用户表的不同名称字段?

    我有一个包含 2 个字段的表单 用户名密码 和一个包含这两个相同字段 用户名 密码 的 mysql 表 并且我的身份验证系统工作正常 但是 如果我的表字段具有不同的名称 我就无法使其工作 例如 我的用户 我的密码 如果你只是改变userna
  • 数字类型的类模板

    如何编写只接受数字类型的类模板 int double float等 作为模板 您可以使用std is arithmetic http en cppreference com w cpp types is arithmetic类型特征 如果您
  • 在 C# 中从 IronPython 调用时引用 Python“导入”程序集

    对于 IronPython 我完全是个菜鸟 我需要从 ASP NET 网站调用 py 脚本 并具有以下代码 var ipy IronPython Hosting Python CreateRuntime dynamic test ipy U