python字节码是否依赖于版本?它是平台依赖的吗?

时间:2014-05-07 19:15:58

标签: python windows unix cross-platform interpreter

第一个问题 - 如果我们在同一平台上有2个不同版本的python(比如2.6,2.7)。你能在python 2.7解释器上执行字节码(用python 2.6解释器生成)吗?

第二个问题 - 如果我们在unix和windows上有完全相同版本的python说2.7.2 - 你可以在windows机器上使用python运行在unix机器上生成的字节码吗?

1 个答案:

答案 0 :(得分:2)

Python字节码可跨平台移植,但不适用于Python版本。

例如,Python 2.7引入了新的语法,导致Python 2.6不支持的不同的新字节码指令。另请参阅dis module documentation顶部的警告:

  

CPython实现细节:字节码是CPython解释器的实现细节!不保证不会在Python版本之间添加,删除或更改字节码。不应将此模块的使用视为跨Python VM或Python版本。

您可以跨平台移动.pyc字节码缓存文件,无论字大小和操作系统如何。