Python*.py,*.pyo,*.pyc:嵌入式系统可以取消哪些内容?

Lan*_*son 12 python embedded

为了挤进我正在使用的嵌入式系统中可用的有限数量的文件系统存储,我想消除任何可以合理删除而不会显着影响功能或性能的文件.Python库中的*.py,*.pyo和*.pyc文件占用了相当大的空间,我想知道哪些选项对于小型嵌入式系统中的Python 2.6安装最合理:

  1. 保持*.py,消除*.pyc和*.pyo(保持调试能力,性能受损?)
  2. 保持*.py和*.pyc,消除*.pyo(优化真的可以买到什么吗?)
  3. 保持*.pyc,消除*.pyo和*.py(这会起作用吗?)
  4. 保留*.py,*.pyc和*.pyo(需要所有?)

Unk*_*own 14

http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html

使用-O标志调用Python解释器时,将生成优化代码并将其存储在".pyo"文件中.优化器目前没有多大帮助; 它只删除断言语句.

将两个-O标志传递给Python解释器(-OO)将导致字节码编译器执行优化,在某些极少数情况下可能导致程序出现故障.目前只从字节码中删除doc字符串,从而产生更紧凑的'.pyo'文件.

我的建议给你?

如果不需要assert语句和__doc__字符串,请使用-OO仅编译.pyo文件.

否则,请仅使用.pyc.

编辑

我注意到你只提到了Python库.如果您只需要部分功能,可以删除大部分python库.

我还建议你看一下大约64kb的Python大部分的tinypy.