使py2exe生成`.py`文件

时间:2010-05-08 10:28:55

标签: python py2exe

有没有办法在库中生成py2exe输出.py源文件而不是字节编译的.pyc文件?

1 个答案:

答案 0 :(得分:1)

我很久以前就这么做了,所以我希望我没记错:

  • 将compress设置为False,因此py2exe不会创建Zip'd库文件。
  • 将优化设置为零,因此py2exe将写入pyc个文件。

更新:Ram Rachum是对的,请使用skip_archive选项代替compressed

您将无法修改主Python文件,因为它将嵌入到主可执行文件中,因此请将其保持在最低限度。然后,您可以根据需要在发行版中手动将pyc文件替换为py个文件。没有理由替换标准库,只有你自己的代码。

(这不是调试的最佳选择,但我想你想通过这种方式解决一些只出现在软件发布版本上的问题。)

如果它不起作用,请告诉我,我会尽力帮助。

<强>更新

我刚刚阅读了py2exe源代码的相关部分。似乎py2exe不支持开箱即用。所以我们选择了触摸它的源代码。

您可以轻松修改py2exe以支持此模式。请参阅byte_compile中的build_exe.py功能。在其中调用了compile内置函数,您可以使用copy_file替换它。不要忘记修改目标文件名(dfile)以使其扩展名为.py,而不是.pyc.pyo。我知道这是拼凑的,但我没有看到任何其他可能解决你的问题。

如果您感到好奇,还可以添加新的py2exe选项或为此引入新的optimize值。实际上,这将是对py2exe的开源贡献。 ;)