转:
首先,我要搞清楚Python for .NET ,IronPython 它们之间的区别。
Python 作为一门语言,其解释器(因为是解释型动态语言,所以我觉得称之为解释器 interpreter 比编译器 compiler 更合适)并不是只有唯一实现的。通常我们从 Python 官方网站下载的 Python 解释器其实只是一种用纯 C 语言的实现,大家习惯称之为 CPython。而目前流行的还有另外两种解释器: Jython 和 IronPython。前者是 Python 语言的 Java 实现;而后者则是 Python 语言的 .NET 解释器实现。IronPython 最终生成的是 .NET 的 IL 语言,所以和 .NET 相关很紧密;而 Python for .NET 则是在原有的 CPython 上的一个扩充,利用 CLR 的功能来访问 .NET 的平台和类库。总得来说:
Python for .NET : 适合大部分程序都是在 CPython 中运行的,只是在一小部分程序中需要访问 .NET 的功能。比如在一个 Python 系统中调用一个 .NET 实现的库;
IronPython :适合熟悉 Python 语言,希望开发 .NET 库或者利用 .NET 库的开发者。比如想用 Python 语法来开发基于 WPF 的应用程序。
根据我的需求,我决定使用 Python for .NET。要使用 Python for .NET,最重要的是两个组件:
Python.Runtime.dll :这是一个用 C# 编写的 .NET 程序集,和 CLR 类似,像个 .NET 虚拟机,提供访问 .NET 世界的功能;
clr.pyd &