pythonXX.dllを必要としないスタンドアロンのWindows exeファイルを作成します。
質問
Pythonスクリプトからスタンドアロンの.exeファイルを作成する方法があります。 py2exeで生成された実行可能ファイルは、pythonXX.dllでのみ実行することができます。 私は、Pythonのランタイムライブラリをインストールする必要はありません完全にスタンドアロンの.exeファイルを取得したいと思います。 それがどのように見える問題をリンクではなく動的なものを静的ライブラリを使用して、また、未使用のシンボルを除去するためにストリップを適用することは有用であろう。
任意のアイデア?
感謝します。
アレッサンドロ
解決
setup.py
ファイルに以下のようなコードを追加しますあなたは... py2exeの最新バージョンでこれを行うことができます(キー部分は「bundle_files」:1)。
、インストール中にあなたのTkinterのパッケージを含めるには、キー「を含む」を使用します。
distutils.core.setup(
windows=[
{'script': 'yourmodule.py',
'icon_resources': [(1, 'moduleicon.ico')]
}
],
zipfile=None,
options={'py2exe':{
'includes': ['tkinter'],
'bundle_files': 1
}
}
)
他のヒント
によりWindowsのダイナミックリンカは、あなたが.pydまたは.dll Pythonモジュールを使用する場合は、静的ライブラリを使用することはできませんどのように機能するかに。 WindowsでロードされたDLLを自動的に実行可能で、そのシンボル空間を共有するので、Pythonのシンボルを含む別のDLLを必要としません。
、私は<のhref = "http://www.jrsoftware.org/isinfo.phpを使用してpy2exe出力をバンドルすることによって、これを解決してきました"REL =" nofollowをさnoreferrer "> Inno Setupのに。むしろ、いくつかのディレクトリにドロップすることができ、実行可能ファイルを提供するよりも、行儀のWindowsアプリケーションは、などのInnoは、すべてのハンドル、プログラムの追加/削除アプレットに表示され、アンインストーラを提供しますので、これは、実際には単一の実行可能ファイルを持つよりも優れていますあなたのためにこれます。
別の解決策は、Pythonとpython.dllを含め、その中にインストールされているすべてのあなたの依存関係、との単一exeファイルを作成することです。そこラッパーで魔法の少しですが、それだけで動作します。詳細はこちらのとおりです:
http://code.google.com /p/pylunch/downloads/detail?name=PyLunch-0.2.pdfする
このはそれを行うための最善の方法はありませんが、内部の.exeファイルと.dllファイルの両方で実行可能なSFXアーカイブを使用して、それがダブルクリックされていますとき、あなたの.exeファイルを実行するためにそれを設定することを検討することがあります。