Python pyinstallerでリソースを埋め込んだ実行ファイルを生成する方法
PythonのPyinstallerでWindowsデスクトップで実行可能なexeファイルを簡単に作成できる。コマンド1つで単一の実行ファイルを作成できて非常に便利である。しかし、リソースを参照したい場合には多少の試行錯誤が必要となる。
リソースファイルの参照方法を変更
実行ファイルを実行時のディレクトリを参照できるように下記を記載する。
def resource_path(relative_path):
if hasattr(sys, '_MEIPASS'):
return os.path.join(sys._MEIPASS, relative_path)
return os.path.join(os.path.abspath("."), relative_path)
Specファイルを作成
下記を実行して実行ファイルを作成する。とスクリプトと同階層に.specファイルが作成される。
python -m eel view.py web --onefile
外部ファイルはspecファイルのdatasに記述する仕様なので、スクリプトファイルと同階層にリソースがある場合、生成されたspecファイルに下記の形式でリソースを指定する。
a.datas += [('ファイル名 ', '.\\ファイル名', 'DATA')]
複数のリソースを追加する場合は、その分だけ加える。
specファイルから実行ファイルを作成
下記コマンドでspecファイルから実行ファイルを作成する。
pyinstaller スペックファイル名.spec
PythonのPyinstallerは簡単に実行ファイルを作成できるが、調整が必要な場合も多い。
コメント ( 0 )
トラックバックは利用できません。
この記事へのコメントはありません。