2

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

4

1 回答 1

1

我很久以前做过,所以我希望我没有记错:

  • 将压缩设置为 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 的开源贡献。;)

于 2010-05-08T23:16:44.610 回答