8

Pyinstallerで.spec作成されたファイルを、 Tempディレクトリに画像データが含まれるように変更する方法を知っている人はいますか?exeファイルにアイコンを追加できるようにしたい。ここに書かれていることを実行しましたが、にデータを追加する方法がわかりません。Makespec.py_MEIPASS2.spec

.specファイルの最後に次の行を追加します。

a.datas += [('iconName.ico','DATA','C:\\Python26\\pyinstaller-1.5.1\\iconName.ico')]
4

3 に答える 3

17

これが私のスペックファイル(Collector.spec)です。と呼ばれる単純なPythonプログラムに使用しました"Collector.py"

# -*- mode: python -*-
a = Analysis(['Collector.py'],
             pathex=['C:\\Users\\vijay\\Python\\Collector'],
             hiddenimports=[],
             hookspath=None,
             runtime_hooks=None)
a.datas += [('logo.png','C:\\Users\\vijay\\System\\icon\\logo.png','DATA')]
pyz = PYZ(a.pure)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='Collector.exe',
          debug=False,
          strip=None,
          upx=True,
          console=False , icon='C:\\Users\\vijay\\System\\icon\\logo.ico')

"a.datas += .... "pyz変数のすぐ上の行は、GUIアプリケーションのさまざまなウィンドウに表示されるpng画像へのパスを保持しています。"icon=...."exe変数内に設定された変数は、デスクトップアイコンとしてWindowsデスクトップに表示されるicoイメージへのパスを保持します。

これで、Maxがここで行ったことをメインプログラムで使用できます(Collector.py私にとっては)。

これが私のスクリプトのスニペットで、MaxのコードCollector.pyを利用しています。

path = self.resource_path("logo.png")
icon = wx.Icon(path, wx.BITMAP_TYPE_PNG)
self.SetIcon(icon)

これで、を実行するpyinstaller Collector.specと、デスクトップアイコンとコレクターアプリウィンドウのアイコンの両方が表示されます。

お役に立てれば!

于 2014-06-05T23:19:17.143 に答える
5

実行可能ファイルにアイコンを追加するには、以下を使用する必要があります。

python Makespec.py --icon=<FILE.ICO> yourprogram.py

exe = EXE(...)または、スペックファイルに直接以下を追加することができます

icon=<FILE.ICO>

これにより、file.icoが実行可能ファイルのリソースに追加され(Windowsのみ)、アプリケーションアイコンとして表示されます。使用しているa.datasappendは、を介してアプリケーション内でアクセスできる内部リソースにアイコンを追加しますsys._meipass。これを使用して、たとえば、メインウィンドウの上部にアイコンを追加できます。

于 2012-05-21T18:06:08.763 に答える
0

a = Analysis(...)この行は、と行の間に追加する必要がありpyz = PYZ(a.pure)ます。

于 2012-05-30T12:02:52.937 に答える