python - CPython、IronPython、Jython 脚本彼此兼容吗?

标签 python testing ironpython jython boost-python

我很确定 python 脚本可以在所有这三个中工作,但我想确定一下。我在这里和那里读到过有关可以编写 CPython、Jython、IronPython 的编辑器的信息,我希望我能深入了解其中的区别。

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

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

就像我说的,我很确定答案是“当然”,但我需要先确定一下,然后再花太多时间在这上面。

最佳答案

简短的回答是:有时。

一些构建在 IronPython 之上的项目可能无法与 CPython 一起工作,一些用 C 编写的 CPython 模块(例如 NumPy)将无法与 IronPython 一起工作。

类似地,虽然 Jython 实现了语言规范,但它与 CPython 存在一些不兼容性(例如,它缺少 CPython 标准库的一些部分,并且它可以导入 Java 标准库包和类,如 Swing)

所以,是的,只要您避免不兼容。

关于python - CPython、IronPython、Jython 脚本彼此兼容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1953989/

相关文章:

python - 解压 1 个变量,剩下一个列表

python - OpenCV 错误 : Unsupported format or combination of formats (Unsupported combination of input and output formats) in getRectSubPix

python - 考虑到相机(已校准)到物体的距离是固定的,如何测量物体的宽度?

python - 测试之间的 django 数据

.net - .Net 上用于 Comet 应用程序的非阻塞网络服务器

c++ - 使用 native 依赖项加载 clr 库

python - 检测物体并获得平均像素值(BGR)

c# - 如何为 SQL 查询编写自动化测试?

java - Android 测试项目 JUnit 失败跟踪未显示预期 + 实际

c# - UnityPython 可以在编辑器上工作,但不能在构建上工作