Python不会在文件系统中保存.pyc文件

时间:2015-08-19 19:41:50

标签: python linux

我有一个在嵌入式Linux系统中运行的python应用程序。我已经意识到python解释器默认情况下不会将已编译的.pyc文件保存在导入模块的文件系统中。

如何让解释器保存?文件系统权限是正确的。

1 个答案:

答案 0 :(得分:2)

有许多地方可以关闭此默认启用行为。

  • PYTHONDONTWRITEBYTECODE可以在环境中设置
  • sys.dont_write_bytecode可以通过带外机制设置(即站点本地初始化文件或修补的解释器构建)。
  • 文件权限可能无法允许。这不一定是显而易见的!从文件系统挂载标志到SELinux标签的任何内容都可能产生此结果。我建议使用strace或类似工具(适用于您的平台)来确定是否存在尝试创建这些文件。

在嵌入式系统上,将此作为显式步骤而不是运行时行为更有意义:这可确保性能保持一致(而不是让某些运行比其他运行花费的时间更长)。使用py_compilecompileall明确提前运行。