在IronPython中使用C#代码
我准备开始一个.NET项目:我们需要创建一个程序,利用一些现有的C#代码,我希望能用IronPython。(我是一名有经验的Python程序员,但对.NET还不太熟悉)。
我的问题是:IronPython适合主要使用C#代码吗?还是说直接用C#会更好?如果IronPython适合的话,有什么需要注意的地方吗?
2 个回答
如果你在一个Windows环境中,虽然有些原因你无法控制,但使用IronPython有很多好处。
它和Python很像,只不过是基于.NET的。只要你学会了如何引用一个程序集、如何创建对象、如何浏览对象等等这些特别的地方,使用起来就会很顺手。
你不需要Visual Studio来开发。Notepad++或者任何一个好用的文本编辑器就足够了。如果你真的想要一个集成开发环境(IDE),可以试试SharpDevelop。如果你有VS2010,新的IronPython插件也不错,未来的版本会更好。
随着IronPython 2.7和.NET 4.0的推出,之前版本启动慢的问题基本上解决了。
我觉得用WPF和XAML来创建图形用户界面(GUI)应用程序比用wx简单多了。
IronPython脚本可以编译成exe文件,方便分发。
不过,也有一些缺点。
大多数包不能直接安装到IronPython里,你需要先安装到CPython,然后再把相关模块复制过来。
使用pyd共享库的Python扩展不工作,除非你使用Ironclad,即使这样也可能会遇到问题。
你失去了跨平台的能力,除非你的用户使用Mono,即使如此,你也会失去一些很酷的功能,比如WPF。
你在开发进度上有点落后。IronPython目前是2.7 Beta 1,自从十月份微软把代码放出来后就一直这样。在那之前,除了微软,没人能提交补丁。社区领导计划在二月份发布2.7的正式版,然后开始3.x的开发。
你需要把C#代码编译成一个可以在IronPython中使用的程序集(DLL)。一旦你完成这个步骤,IronPython就可以像使用其他.NET程序集一样使用它。
这是IronPython的一个常见使用场景。