IronPython for .NET 核心

Posted

技术标签:

【中文标题】IronPython for .NET 核心【英文标题】:IronPython for .NET core 【发布时间】:2015-10-23 13:55:12 【问题描述】:

我正在使用新的 .NETCore 引用程序集在 VS15 中开发一个 Windows 10 通用应用程序,并希望引用 IronPython 库。不幸的是,IronPython 的目标是 .NETFramework 而不是 .NETCore。有谁知道使用 C# 在 .NET 中运行 python 脚本的替代库,一种使 IronPython 可移植的方法,或者一种解决以 .NETCore 为目标的项目的方法?欢迎其他可能的解决方案。还有人知道 IronPython 是否会与 .NETCore 兼容/如果可能的话?谢谢你。 PS 我正在尝试执行非常简单的 python 脚本并显示解释器的输出。

【问题讨论】:

我也有兴趣!目前我正在使用 DynamicLINQ 和运行时编译的 lambdas。 @lexLi c# 现在不是真正动态的,它只是在运行时更好地编译和执行为脚本/。 考虑到最后一个版本/博客文章是在 2014 年底(甚至在 .NET Core 发布之前),我认为这个项目已经死了。所以在我看来,不会有端口,将这个库集成到生产场景中也不是一个好的决定。 DotNet Core 团队应该真正专注于将 Iron Python 引入 DotNet 核心。 DotNet Core 中仍然缺少许多功能(例如图像处理)。 Azure、AWS 等云服务支持在同一应用程序上运行 .Net、Pyhon 和 php。如果我们有 Iron Python,我们可以在 Python 上的 OpenCV 中做图像的东西,在 DotNet Core 上做其他所有事情。在为 DotNet Core 制作更多东西的同时让我们度过难关会很好。 @AlfredYoung 您需要与 python 脚本进行大量交互还是只发送一些参数?如果您只需要运行它并获得结果,我认为 .Net 核心中包含的 System.Diagnostics.Process 和 ProcessStartInfo 类将允许您运行 python 脚本命令行样式。 【参考方案1】:

IronPython-Team 刚刚发布了 IronPython 2.7.8 测试版,支持单核和 .net 核心:

更多信息在这里:https://github.com/IronLanguages/ironpython2/releases

还有一个 nuget 包IronPython。您可能需要从Stable only 切换到Include Prerelease

支持单声道和 .net 核心的 IronPython 3 仍在开发中。

更新:在 IronPython 2.7.10 中,IronPython-Team 增加了对 .NET Core 3.1 的支持。

【讨论】:

2 年更新,Iron Python 3 仍在“进行中”。该 repo 标有一个巨大的 DO NOT USE 横幅。 @ChrisMarisic 没错。对我来说,v2.7 完成了它的工作。 IronPython 2.7 还不支持编写 dotnetcore DLL (clr.Compile) 或 Python 3.x,这真的很让人讨厌。具体来说,我找不到任何方法来生成与 dotnet 核心兼容的 pygments.dll。会喜欢任何想法... 2.7.10 发布!此版本增加了 .NET Core 3.1 支持。 github.com/IronLanguages/ironpython2/releases/tag/ipy-2.7.10

以上是关于IronPython for .NET 核心的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中实例化实现 .NET 接口的 IronPython 类型

初步了解IronPython

如何在 IronPython 中关闭 WPF 窗口而不关闭 .NET 应用程序

沙盒 IronPython?

Python学习-环境搭建(IronPython)

uni-app request 请求库-- iros使用