我已经建立了一个使用zip分发工具的系统。 zip中的工具似乎只想从pyc运行。我的一位动画师正在使用Maya 2013,它有一个旧版本的python(2.6.4)。我试图运行我的文件时收到Magic Numbers错误。
如何将脚本编译为旧版本的python?
答案 0 :(得分:0)
如果您正在分发pyc文件,则需要通过从正确版本的解释器运行py_compile来为您定位的python主要版本“编译”它们。您可以使用2.6.4解释器执行此操作而无需实际运行maya,因此如果您没有相同的maya版本但可以获取解释器,则会创建2.6.4兼容的pyc。
然而,您也应该能够分发压缩的.py文件,这应该是版本无关的(主要的问题是2.7支持一些功能,如dict comprehensions和OrderedDict,2.6没有)。
最大的问题是二进制文件:依赖于.so或.pyd模块的任何代码可能无法在解释器版本之间工作。我通常最终必须将特定于版本的二进制文件打包到zip中并在启动时提取它们。