【发布时间】:2018-10-10 00:05:13
【问题描述】:
我正在尝试使我的一些 Python 脚本可以从 .NET 中调用。我发现 IronPython 是完成此任务的好工具。所以我尝试使用它,但现在我有以下问题:
- 如何将软件包安装到 IronPython?我现有的 Python 代码使用它们,所以我需要安装它们。我尝试关注this guide 安装pip,但得到
Process is terminated due to StackOverflowException.并没有找到解决问题的方法。 - 假设我能够安装软件包,是否仍然不能在 IronPython 中使用具有 C/C++ 绑定的软件包?因为the FAQ page上写着不能安装NumPy和SciPy,但是页面好像比较老了。
- 如何从其他 .NET 代码访问 Python 代码? The documentation page 说我必须使用 DLR Hosting API,因为从 IronPython 编译的程序集不符合 CLS。但我不知道如何使它与包一起使用。
- 也许还有另一种方法可以从 .NET 调用 Python 代码?
提前致谢。
【问题讨论】:
-
@denfromufa 感谢您提供可能的解决方案。正如我所见,适用于 .NET 的 Python 需要完整的 CPython 安装。有没有办法将解释器和安装的包都“打包”(不知道如何正确调用这个过程)到一个“文件”中,并在 Python 中为.NET 使用这个“文件”作为解释器?我希望我的想法是可以理解的。
-
是的,您需要使用 pythonhome 和路径 env 指向独立 CPython 解释器的位置。从 .NET 调用时的 vars
标签: python .net interop ironpython