pythonXX.dllを必要としないスタンドアロンのWindows exeファイルを作成します。

StackOverflow https://stackoverflow.com/questions/707242

  •  22-08-2019
  •  | 
  •  

質問

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ファイルを実行するためにそれを設定することを検討することがあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top