第一个问题 - 如果我们在同一平台上有2个不同版本的python(比如2.6,2.7)。你能在python 2.7解释器上执行字节码(用python 2.6解释器生成)吗?
第二个问题 - 如果我们在unix和windows上有完全相同版本的python说2.7.2 - 你可以在windows机器上使用python运行在unix机器上生成的字节码吗?
答案 0 :(得分:2)
Python字节码可跨平台移植,但不适用于Python版本。
例如,Python 2.7引入了新的语法,导致Python 2.6不支持的不同的新字节码指令。另请参阅dis
module documentation顶部的警告:
CPython实现细节:字节码是CPython解释器的实现细节!不保证不会在Python版本之间添加,删除或更改字节码。不应将此模块的使用视为跨Python VM或Python版本。
您可以跨平台移动.pyc
字节码缓存文件,无论字大小和操作系统如何。