2

Is there any way to make py2exe output .py source files instead of byte-compiled .pyc files in the library?

4

1 に答える 1

1

私はずっと前にそれをやったので、正しく覚えていることを願っています:

  • 圧縮を False に設定すると、py2exe は Zip されたライブラリ ファイルを作成しません。
  • 最適化をゼロに設定して、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 に答える