您的位置:首页 > 编程语言 > Python开发

编译pyc文件——python无法运行其它版本编译的pyc文件的情况

2014-03-10 15:42 771 查看
我之前学习python的时候就知道pyc文件,它不但可以提高速度,还可以一定的隐藏代码细节(可以反编译)。另外,python源文件和pyc文件都是平台无关的。

       但是,我发布一个程序包的时候发现事先编译好的pyc文件提示“magic number”错误。

       这个“魔法数”控制一个文件是否可以真正运行,比如可以给一个文本文件增加可执行权限,但这个文件是无法执行的。因为文本文件没有魔法数。查看魔法数的方法是用od命令查看一个文件,第一个数字就是了,不同的系统拥有不同的魔法数。

      后来发现,我编译pyc文件的python版本是2.7的,而执行pyc文件的python版本是2.4.3。因为不同python版本无法使用其它python版本编译的pyc文件。

      这种情况不知道后续的版本会不会解决,目前有些程序会要求特定的python版本就有这个原因吧。

      编译pyc文件:python -m py_compile test.py

      优化编译pyc文件: python -O -m py_compile test.py
          优化编译pyc文件,并删除文档字符串: python
-OO -m py_compile test.py
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python
相关文章推荐