已经正式发布

下载  www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=14353

这次发布居然有了msi 安装文件,并且 带来了python的标准库 ,标准库 的许可以 Python Software Foundation license 发布. 真不知道ms 是如何搞定一些法律上的问题的. 这个版本意味了移值cpython应用以后会方便许多,不要借助ipce 这样的第三方补丁了.( 不过 浏览 http://www.python.org/psf/ 你会发现microsoft也是其中一员了,居然没有图标,仅仅是个文字连接,不知道是什么时候上去的)

 

里面还提到
Static compilation of python files is now supported again and the pyc.py sample has been updated to use the newer version.

静态编译是调用 clr.CompileModules进行

这个方法签名是

CompileModules(str assemblyName, dict kwArgs, Array[str] filenames)

调用

import clr
clr.CompileModules("foo.dll", "foo.py")

当存在多个文件时可以指明主文件

import clr
clr.CompileModules("foo.dll", "foo.py", "bar.py", mainModule="main.py")

 

引用 http://blogs.msdn.com/srivatsn/archive/2008/08/06/static-compilation-of-ironpython-scripts.aspx


  

从这个版本可能会探知.net 4/c# 4.0 的一些走向. 因为在这个版本中

Microsoft.Scripting.Core 项目命名空间已经修改为 System.Scripting,而 DLR AST 已经合并到 System.Linq.Expressions 命名空间, 结合上面的python 标准库,我个人感觉这是个非常大的变化,所以有必要发在首页上.

 

 

 shri borde's  的blog 上还提到了对ole automation 支持的改进

 

In IronPython 2.0 Beta 4, things just work, thanks to the shiny new OleAut support. "wb" is just a simple COM object that supports IDispatch, and there is no need for a PIA anymore!

c:\IronPython-2.0B4>ipy.exe -v
IronPython 2.0 Beta (2.0.0.4000) on .NET 2.0.50727.1433
Type "help", "copyright", "credits" or "license" for more information.
>>> import System
>>> t = System.Type.GetTypeFromProgID("Excel.Application")
>>> excel = System.Activator.CreateInstance(t)
>>> wb = excel.Workbooks.Add()
>>> wb
<System.__ComObject (_Workbook) object at 0x000000000000002B>
>>> excel.Quit()
>>>

 

http://blogs.msdn.com/shrib/archive/2008/07/30/idispatch-support-on-in-ironpython-beta-4.aspx

 

我现在的excel报表系统是使用com方式调用. 看来以后可以使用ironpython代替C#来操控会更适合(其实我一直想重新使用vb.net来着,呵呵)

 

需要说明的是,由于ironpython对import 模块没有优化,所以你会发现带了标准库 的ipy启动会很慢,如果你不需要lib目录,有时干脆删除它可以获得更快的启动速度

 

posted on 2008-08-06 09:37  jjxstudio  阅读(2238)  评论(10编辑  收藏  举报