Is there any way to make py2exe output .py
source files instead of byte-compiled .pyc
files in the library?
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 へのオープンソースの貢献になります。;)