甘肃住房和城乡建设局网站,国际物流网站制作模板,长沙网站建站公司,手机在线视频转#xff1a;首先#xff0c;我要搞清楚Python for .NET ,IronPython 它们之间的区别。Python 作为一门语言#xff0c;其解释器(因为是解释型动态语言#xff0c;所以我觉得称之为解释器 interpreter 比编译器 compiler 更合适)并不是只有唯一实现的。通常我们从 Python…转首先我要搞清楚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 这是一个 Python 模块文件它连接 CPython 和 Python.Runtime.dll起着桥梁的作用。由于 .NET 平台和 Python 平台的版本众多为避免编译出过多的版本组合所以 Python for .NET 采用源代码形式进行发布。因此要使用源代码我们需要首先确定两件事情我们的目标 .NET 平台版本当然眼下最 IN 的要算是 VS2010 .NET 4.0 组合啦我们的目标 CPython 版本当前Python for .NET 支持的 CPython 版本是从 2.3 到 2.7。确定好版本后作为源代码发布当然要获得源代码。通过 Python for .NET 的 SourceForge 页面我们可以获得如何连接 SVN 的说明。或者我们可以直接从如下 URL 导出源代码https://pythonnet.svn.sourceforge.net/svnroot/pythonnet/trunk该源代码里包含了一个用 VS2008 创建的解决方案我们完全可以用 VS2010 对其进行转换不会产生转换错误。用 VS2010 打开项目后依照如下步骤设置相应的 .NET 和 CPython 版本改变目标 .NET 版本在项目“Python.Runtime”上右击鼠标选择“Properties” 然后选择“Application”标签将“Target framework”设置为“.NET Framework 4”修改 buildclrmodule.bat 文件(注意有两处)%windir%\Microsoft.NET\Framework\v2.0.50727\ilasm/nologo /quiet /dll %ILASM_EXTRA_ARGS% /include%INCLUDE_PATH%/output%OUTPUT_PATH% %INPUT_PATH%改为%windir%\Microsoft.NET\Framework\v4.0.30319\ilasm/nologo /quiet /dll %ILASM_EXTRA_ARGS% /include%INCLUDE_PATH%/output%OUTPUT_PATH% %INPUT_PATH%修改 clrmodule.il 文件主要是修改其饮用的mscorlib 版本.assemblyextern mscorlib{.publickeytoken (B7 7A 5C 56 19 34 E0 89 ).ver2:0:0:0}改为.ver 4:0:0:0修改CPython 版本右键点击“Python.Runtime”项目选择“Properties”在“Build”标签下的“Conditionalcompilation symbols”设置将默认的“PYTHON26”改变为我们想使用的“PYTHON27”最后对“Python.Runtime”项目进行重新编译即可。编译后你就会得到Python.Runtime.dll 和 clr.pyd 这两个文件。将这两个文件拷贝到任意位置(如果想在任何位置都可以使用最好把这两个文件放在python的sys.path 目录下比如DLLs)然后创建测试用的 Python 脚本import clrimport sysimport Systemprint System.Environment.Version# you can also print out the sys.pathprint -----for p in sys.path:print pprint -----要使用你自己开发的私有程序集则需要先用 clr.AddReference() 函数对你的程序集进行引用。例如你有一个名为”Test.dll“的程序集你则需要先执行clr.AddReference(Test) 来载入该程序集然后你就可以使用其中的类和方法了。