是否可以将 PyPy 嵌入到 .NET 应用程序中?

     2023-02-15     138

关键词:

【中文标题】是否可以将 PyPy 嵌入到 .NET 应用程序中?【英文标题】:Is it possible to embed PyPy into a .NET application? 【发布时间】:2011-08-30 09:26:03 【问题描述】:

我想将 Python 解释器嵌入到我的 .NET 应用程序中。我当然知道 IronPython,但我对 PyPy 特别感兴趣,因为它的无堆栈支持和微线程。

然而,虽然 PyPy 可以针对 CLI 构建,但看起来它只是为您提供了一个独立的 Python 解释器,例如 python.exe。我找不到任何文档来构建可以实际嵌入到 .NET 主机应用程序中的东西。

有没有办法使用(无堆栈)PyPy 从 .NET 应用程序运行 Python 脚本,并允许这些脚本与宿主应用程序提供的 CLR 对象进行交互?

【问题讨论】:

可能有一种方法可以将pypy构建为dll,因此可以在c#内部使用 【参考方案1】:

PyPy 的 CLI 后端不如 C 后端成熟,也不能与 .NET 库集成。虽然编译为 C 的普通 PyPy 已准备好生产,但我不会称 .NET 版本已准备好生产。它还缺少 JIT(尽管在这方面已经完成了一些工作)和微线程。除非有人介入,否则 IronPython 似乎是目前唯一可行的选择。

【讨论】:

【参考方案2】:

不,没有。 CPython 能够使用在 github 上维护的 Python for .NET(参见 http://pythonnet.github.io/)访问 .NET 库,但除了 IronPython 之外,从来没有一种方法可以将 Python 解释器实际嵌入到 .NET 应用程序中。这是它的主要卖点之一。

在相关说明中,IronPython(默认情况下)在递归方面比 CPython 具有更小的堆栈大小。也就是说,您必须将“-X:FullFrames”命令行选项传递给 ipy.exe 以启用 CPython 式堆栈帧。知道这不如 PyPy...但它可能会有所帮助:)

【讨论】:

Python Dot Net 并没有完全消亡。最新文件位于:sourceforge.net/projects/pythonnet/files 和颠覆统计:sourceforge.net/project/stats/… PythonNET 现在在 github 上,还没有死! 我们正在使用 cpyext 在 pythonnet 中支持 PyPy:***.com/q/42152122/2230844

是否可以使用 OLE 将 Outlook .msg 嵌入到应用程序中?

】是否可以使用OLE将Outlook.msg嵌入到应用程序中?【英文标题】:IsitpossibletoembedanOutlook.msgintoanapplicationusingOLE?【发布时间】:2021-10-0219:28:54【问题描述】:如果您有一些带有普通HWND的应用程序,是否可以使用OLE将Outlook电子邮件.... 查看详情

是否可以将 C++ 小部件嵌入到 PyQt 应用程序中?

】是否可以将C++小部件嵌入到PyQt应用程序中?【英文标题】:IsitpossibletoembedC++widgettoPyQtapplication?【发布时间】:2017-05-3009:45:00【问题描述】:我有一个PyQt5应用程序和大多数用Python编写的小部件。我想在C++Qt中编写一些小部件以... 查看详情

可以将 WinForms 嵌入到 VCL Delphi 应用程序中吗?

】可以将WinForms嵌入到VCLDelphi应用程序中吗?【英文标题】:PossibletoembedWinFormsintoaVCLDelphiapplication?【发布时间】:2011-03-2022:05:30【问题描述】:我们有一个VCLDelphi2005应用程序,并希望使用DevExpress的XtraReports组件,该组件适用于.N... 查看详情

是否可以将 Android 应用程序嵌入到预先存在的应用程序中?

】是否可以将Android应用程序嵌入到预先存在的应用程序中?【英文标题】:IsitpossibletoembedanAndroidappinapre-existingapp?【发布时间】:2012-10-0910:47:15【问题描述】:我想询问是否可以将Android应用嵌入到预先存在的应用中?基本上,... 查看详情

可以将 DLL 合并到 .NET EXE 中吗? [复制]

...2011-06-0514:50:00【问题描述】:我有一个DLL,用于存储两个应用程序共有的类。我想将我的应用程序限制在一个EXE文件中,并想看看我是否可以以某种方式将此DLL嵌入到我的主EXE中。如何将外部DLL嵌入到我的应用程序中?(如果可... 查看详情

是否可以将带有许多包的 Python 脚本嵌入到 C# 中?

...?【发布时间】:2021-07-2920:17:19【问题描述】:我需要在C#应用程序中嵌入一些python脚本。问题是这些脚本使用了许多包,如numpy、openCV等。我读过Ironpython可以处理这种嵌入,但它仅限于没有任何包的纯Python代码。将这样的脚本 查看详情

是否可以将 Electron 应用程序和数据文件嵌入到单个可执行文件中?

】是否可以将Electron应用程序和数据文件嵌入到单个可执行文件中?【英文标题】:IsitpossibletoembedanElectronappandadata\'sfileinasingleexecutable?【发布时间】:2019-12-0811:26:53【问题描述】:我想开发一个简单的桌面应用程序,一个选项是... 查看详情

将.net treeview 嵌入到 vba 中?

...但这是一个.net版本。我对.net几乎一无所知,但我想知道是否可以将此.net树视图嵌入到vba中 查看详情

是否可以将 perl6 嵌入到 C(或 C++)程序中?

】是否可以将perl6嵌入到C(或C++)程序中?【英文标题】:Isitpossibletoembedperl6inaC(orC++)program?【发布时间】:2018-11-1900:17:40【问题描述】:在perl5中,很容易在libperl.so中进行链接,设置一些变量并运行一些带有回调的代码。在perl6... 查看详情

是否可以将 Jedi 嵌入到未安装 Python 的系统上的应用程序中?

】是否可以将Jedi嵌入到未安装Python的系统上的应用程序中?【英文标题】:IsitpossibletoembedJediinanapplicationonasystemwherePythonisnotinstalled?【发布时间】:2019-01-1811:03:26【问题描述】:我正在开发usesPythonasanembeddedscriptinglanguage的(Windows... 查看详情

是否可以将 TimePicker 的“Focused”视图嵌入到另一个视图中?

...正在使用PCL工作流在Xamarin.FormsforAndroid/iOS中创建一个移动应用程序。我希望控件在页面加载时可用且正常运行 查看详情

是否可以将一个应用程序完全嵌入另一个应用程序中

】是否可以将一个应用程序完全嵌入另一个应用程序中【英文标题】:Isitpossibletoembedoneappentirelyinanotherapp【发布时间】:2020-08-0521:20:14【问题描述】:是否可以将一个应用程序(我不拥有)完全嵌入到我可以开发的另一个应用程... 查看详情

是否有 numpy.save(file, arr) 可以与 pypy 一起使用的替代方法?

】是否有numpy.save(file,arr)可以与pypy一起使用的替代方法?【英文标题】:Isthereanalternativetonumpy.save(file,arr)thatwillworkwithpypy?【发布时间】:2012-11-1919:51:42【问题描述】:我有一个在pypy中运行的主程序,它创建三个2Dnumpy数组。我想... 查看详情

在 .net 应用程序中嵌入 microsoft 表达式混合

】在.net应用程序中嵌入microsoft表达式混合【英文标题】:Embedmicrosoftexpressionblendinsidea.netapplication【发布时间】:2012-06-0203:24:02【问题描述】:有没有办法将microsoftexpressionblend嵌入到.net应用程序中(以创建xaml文件)?如果没有,... 查看详情

我已成功地将 CefSharp 嵌入到 .NET 4.0 应用程序中。是不是可以让 jQuery 调用在 DOM 上工作?

】我已成功地将CefSharp嵌入到.NET4.0应用程序中。是不是可以让jQuery调用在DOM上工作?【英文标题】:IhavesuccessfullyembeddedCefSharpintoa.NET4.0application.IsitpossibletogetjQuerycallsworkingontheDOM?我已成功地将CefSharp嵌入到.NET4.0应用程序中。是否... 查看详情

将处理3嵌入到swing中

...40:49【问题描述】:我正在尝试将Processing3集成到一个Swing应用程序中,但由于PApplet不再扩展Applet,我无法立即将其添加为组件。是否有将处理3草图嵌入到Swing中,如果我可以在没有PDE的单独窗口中打开草图就足够了。【问题讨... 查看详情

是否可以在纯 java android 应用程序中嵌入 flex 组件?

】是否可以在纯javaandroid应用程序中嵌入flex组件?【英文标题】:Isitpossibletoembedaflexcomponentinapurejavaandroidapplication?【发布时间】:2011-04-0903:33:39【问题描述】:我知道可以使用AIRforandroid开发完整的flex应用程序,但我需要将flex组... 查看详情

如何将附属程序集嵌入到 EXE 文件中

...是真正的程序。它还需要包含当前位于子目录中的翻译。是否可以直接嵌入到二进制文件中?【问题讨论】:【参考方案1】:简短的回答是肯定的,有一个名为AssemblyLink 查看详情