CPython,IronPython,Jython脚本是否相互兼容?

Cha*_*les 7 python testing ironpython jython boost-python

我很确定python脚本可以在所有三个中运行,但我想确定.我已经在这里和那里阅读过可以编写CPython,Jython,IronPython的编辑,我希望我能够深入了解这一区别.

我的情况是我有3种不同的api,我想测试.每个api执行相同的功能代码,但它们在实现上是不同的.我正在为每种语言的api编写包装器.每个包装器都应该使用Boost :: python,Jython和IronPython向python公开完全相同的功能和实现.

我的问题是,使用这些公开的方法编写的python脚本(每种语言都很常见)是否适用于Python的所有三种"风格"?

就像我说的那样,我很确定答案是'当然',但我需要确保在花费太多时间进行研究之前.

Kin*_*cal 10

简短的回答是:有时.

在IronPython之上构建的一些项目可能无法与CPython一起使用,并且一些用C语言编写的CPython模块(例如NumPy)将无法与IronPython一起使用.

在类似的说明中,当Jython实现语言规范时,它与CPython有几个不兼容(例如,它缺少CPython标准库的一些部分,它可以导入Java标准库包和类,如Swing)

所以,是的,只要你避免不相容.

  • @Charles:另外,每个其他Python解释器(Jython,IronPython)都会有很好的文档,详细说明它不符合CPython的地方.如果你密切注意这些文档,一旦你延伸到三个文档的作用,你就能够迅速告诉你. (2认同)