.NET怎么与Python交互 Python.NET库使用教程

admin 百科 15
Python.NET支持Python与.NET双向互调:Python可调用.NET类型,.NET也能嵌入Python解释器;需匹配Python 3.8–3.11与.NET 6+或Framework 4.7.2+,注意初始化、类型转换及线程安全。

.NET怎么与Python交互 Python.NET库使用教程-第1张图片-佛山资讯网

用 Python.NET,.NET 项目就能直接调用 Python 代码,反过来 Python 也能加载 .NET 程序集——关键在于正确安装、初始化和类型转换。

安装与环境准备

Python.NET 不支持所有 Python 版本和 .NET 运行时组合,务必匹配清楚:

  • 推荐使用 Python 3.8–3.11(64位),对应 .NET 6 / .NET 7 / .NET 8(或 .NET Framework 4.7.2+)
  • Windows 上 pip 安装最简单:pip install pythonnet
  • Linux/macOS 需先装 Mono 或 .NET SDK,并设置 PYTHONNET_PYDLL_PATH 指向 libpython 和 libmono
  • 若用 .NET 6+,确保项目启用 UseWpfUseWindowsForms(如需 GUI 互操作)

在 Python 中调用 .NET 类型

这是最常用场景:从 Python 脚本中创建 C# 对象、调用方法、处理事件。

  • 先导入并初始化:import clr; clr.AddReference("System"); from System import String, DateTime
  • 加载自定义程序集:clr.AddReference(r"C:\path\to\MyLibrary.dll"),然后 from MyNamespace import MyClass
  • 注意类型转换:Python 字符串自动转为 System.String,但 list/dict 需手动转为 System.Collections.Generic.List[T]
  • 调用泛型类要写全名,例如:List_string = clr.GetClrType(System.Collections.Generic.List[String])

在 .NET 中嵌入 Python 解释器

适合需要在 C# 应用里执行动态脚本、热重载逻辑或集成 AI 模型的场景。

标签: linux python windows mac ai macos win rest api 常见问题 c# cos .

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~