質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

3779閲覧

.pyファイルのアプリ化について

nyumonsya

総合スコア34

PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/07/10 06:05

編集2020/07/12 13:42

お助け頂きたいですm(_ _)m

pyinstaller」を使って、「.pyファイル」をアプリ化したいのですが、以下の通り上手くいきません。
build」と「dist」のフォルダはちゃんと作成されますが、「dist」フォルダの中にあるはずの「.app」ファイルも何も無く、空っぽです。
何が問題なのか、アプリ化(.appファイルの作成)の方法をご教示頂きたく、何卒、よろしくお願い致します・・!

【コマンドプロンプトで以下を入力】

pyinstaller .pyファイル名 --onefile

【アプリ化したい.pyファイル】

#-*- encoding: utf-8 -*- import tkinter as tk import tkinter.ttk as ttk import random from tkinter import PhotoImage from tkinter import * from PIL import ImageOps from PIL import Image, ImageTk def kuji(): list_kuji = ['A賞', 'B賞', 'C賞'] result = random.choice(list_kuji) response_area.configure(text=result) def run(): global response_area root = tk.Tk() root.title('くじ') canvas = tk.Canvas(width = 60, height = 60) canvas.pack() image = Image.open('kuji.png') photo = ImageTk.PhotoImage(image, master=root) Label(root, image = photo).place(x=155, y=170) response_area = tk.Label( width=15, height=2, relief="groove") response_area.place(x=20, y=20) button = tk.Button( text='  くじを引く  ', command=kuji) button.place(x=200, y=730)#pack() def fix(): a = root.winfo_geometry().split('+')[0] b = a.split('x') w = int(b[0]) h = int(b[1]) root.geometry('900x900') #('%dx%d' % (w+1, h+1)) root.update() root.after(0, fix) root.mainloop() if __name__ == '__main__': run()

【コマンドを実行した際のメッセージ】
※文字数制限のため、一部省略しています

c:\python>pyinstaller 19b_kuji.py --onefile 1262 INFO: PyInstaller: 3.3.1 1263 INFO: Python: 3.7.3 1263 INFO: Platform: Windows-10-10.0.17134-SP0 1266 INFO: wrote c:\python\19b_kuji.spec 1268 INFO: UPX is not available. 1270 INFO: Extending PYTHONPATH with paths ['c:\', 'c:\python'] 1270 INFO: checking Analysis 1271 INFO: Building Analysis because out00-Analysis.toc is non existent 1271 INFO: Initializing module dependency graph... 1290 INFO: Initializing module graph hooks... 1294 INFO: Analyzing base_library.zip ... 10415 INFO: running Analysis out00-Analysis.toc 10423 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable required by c:\users\ユーザ名\appdata\local\programs\python\python37\python.exe 10622 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\ユーザ名\appdata\local\programs\python\python37\python.exe 10842 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\ユーザ名\appdata\local\programs\python\python37\python.exe 11927 WARNING: lib not found: api-ms-win-crt-conio-l1-1-0.dll dependency of c:\users\ユーザ名\appdata\local\programs\python\python37\python37.dll 13991 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:\users\ユーザ名\appdata\local\programs\python\python37\python37.dll 14830 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\ユーザ名\appdata\local\programs\python\python37\VCRUNTIME140.dll 15051 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\ユーザ名\appdata\local\programs\python\python37\VCRUNTIME140.dll 15054 INFO: Caching module hooks... 15063 INFO: Analyzing c:\python\19b_kuji.py 18822 INFO: Processing pre-find module path hook distutils 25285 INFO: Processing pre-find module path hook site 25292 INFO: site: retargeting to fake-dir 'c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\fake-modules' 39907 INFO: Processing pre-safe import module hook win32com 63629 INFO: Loading module hooks... 63629 INFO: Loading module hook "hook-Crypto.py"... 64812 INFO: Loading module hook "hook-PIL.py"... 64814 INFO: Excluding import 'tkinter' 64816 INFO: Removing import of tkinter from module PIL.ImageTk 64817 INFO: Import to be excluded not found: 'FixTk' 64831 INFO: Excluding import 'tkinter' 64833 INFO: Loading module hook "hook-pkg_resources.py"... Traceback (most recent call last): File "<string>", line 41, in <module> File "<string>", line 20, in walk_packages File "c:\python\pkg_resources.py", line 1518, in <module> register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider) AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader' 65162 WARNING: Hidden import "pkg_resources._vendor.appdirs" not found! 65162 WARNING: Hidden import "pkg_resources._vendor.packaging" not found! 65163 WARNING: Hidden import "pkg_resources._vendor" not found! 65163 INFO: Loading module hook "hook-pycparser.py"... 65165 INFO: Loading module hook "hook-pydoc.py"... 65167 INFO: Loading module hook "hook-pythoncom.py"... Traceback (most recent call last): File "<string>", line 2, in <module> File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\__init__.py", line 65, in <module> import pkg_resources File "c:\python\pkg_resources.py", line 1518, in <module> register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider) AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader' 76514 INFO: Loading module hook "hook-pywintypes.py"... 91168 INFO: Loading module hook "hook-_tkinter.py"... 91450 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\ユーザ名\appdata\local\programs\python\python37\DLLs\_tkinter.pyd 91716 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\ユーザ名\appdata\local\programs\python\python37\DLLs\_tkinter.pyd 91978 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\ユーザ名\appdata\local\programs\python\python37\DLLs\_tkinter.pyd 92465 INFO: checking Tree 92584 INFO: checking Tree 92768 INFO: Looking for ctypes DLLs 92794 INFO: Analyzing run-time hooks ... 92801 INFO: Including run-time hook 'pyi_rth_multiprocessing.py' 92808 INFO: Including run-time hook 'pyi_rth_win32comgenpy.py' 92811 INFO: Including run-time hook 'pyi_rth_pkgres.py' 92813 INFO: Including run-time hook 'pyi_rth__tkinter.py' 92829 INFO: Looking for dynamic libraries 125673 INFO: Cannot get manifest resource from non-PE file 00__text\190903_井尻.txt 125675 WARNING: Can not get binary dependencies for file: 00__text\190903_井尻.txt Traceback (most recent call last): File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\depend\bindepend.py", line 721, in getImports return _getImports_pe(pth) File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\depend\bindepend.py", line 103, in _getImports_pe pe = pefile.PE(pth, fast_load=True) File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\pefile.py", line 1754, in __init__ self.__parse__(name, data, fast_load) File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\pefile.py", line 1847, in __parse__ raise PEFormatError('DOS Header magic not found.') pefile.PEFormatError: 'DOS Header magic not found.' 125782 INFO: Cannot get manifest resource from non-PE file requests\urllib3-master\test\test_response.py 125783 WARNING: Can not get binary dependencies for file: requests\urllib3-master\test\test_response.py Traceback (most recent call last): File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\ユーザ名\AppData\Local\Programs\Python\Python37\Scripts\pyinstaller.exe\__main__.py", line 7, in <module> File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\__main__.py", line 94, in run run_build(pyi_config, spec_file, **vars(args)) File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\__main__.py", line 46, in run_build PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs) File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\depend\bindepend.py", line 400, in getAssemblyFiles for assembly in getAssemblies(pth): File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\depend\bindepend.py", line 351, in getAssemblies res = GetManifestResources(pth) File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\utils\win32\winmanifest.py", line 1005, in GetManifestResources return winresource.GetResources(filename, [RT_MANIFEST], names, languages) File "c:\users\ユーザ名\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\utils\win32\winresource.py", line 168, in GetResources hsrc = win32api.LoadLibraryEx(filename, 0, LOAD_LIBRARY_AS_DATAFILE) pywintypes.error: (2, 'LoadLibraryEx', '指定されたファイルが見つかりません。')

以上、よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teamikl

2020/07/11 17:33

コマンドを実行した時に出るログを記載できますか。 エラーログ等は出てないでしょうか? 画像ファイルを含めたり、画像ファイル読込のパス修正等必要になりますが、 まずは実行ファイルが出来ていないようなので、その点の原因を探しましょう。
nyumonsya

2020/07/12 13:44

teamikl様 反応を頂き誠にありがとうございます! m(_ _)m コマンド実行時のメッセージを本文に追加しました。 ※文字数制限のため一部省略 その中で、末尾の以下の一文が気になっています・・・ 引き続き、よろしくお願い致します! 「pywintypes.error: (2, 'LoadLibraryEx', '指定されたファイルが見つかりません。')」
teamikl

2020/07/12 14:00

.app ファイルとありますが、環境はwindowsのようですが .exeではないですか?(確認) 先にこちらのエラーですね > AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader' 調べてみると https://github.com/theskumar/python-dotenv/issues/53 conda 環境に pip で誤ったパッケージをインストールした際の問題の様です、 環境構築はどのように行われましたか?環境やバージョン等も追記してください。
guest

回答2

0

versionはログで確認できましたね。

1262 INFO: PyInstaller: 3.3.1 1263 INFO: Python: 3.7.3 1263 INFO: Platform: Windows-10-10.0.17134-SP0 1266 INFO: wrote c:\python\19b_kuji.spec

環境構築で気になっていた点は、pyinstaller をどのようにインストールしたのか辺りですが、
調べたところ、Python3.7に対応し始めたのは PyInstaller v3.4以降の様です。

PyInstaller v3.4 更新履歴

Add support for Python 3.7

ログと同じエラーは報告されてないので、これで解決となるか解りませんが、
可能なら、PyInstaller のバージョンを v3.6 に上げて試してみてはどうでしょう。


コードの対応が必要な点 (上記の問題を解決した後の事ですが)

実行ファイル作成に当たり、画像ファイルを埋め込む場合は、ファイルの読み込みのパスを
スクリプトで実行した時と、実行ファイルの時で変える必要があります。
詳しくは、"PyInstaller _MEIPASS" で検索して見て下さい。

また、ビルド時のオプション(か specファイル)に、埋め込む画像ファイルの指定も必要です。

投稿2020/07/13 02:54

teamikl

総合スコア8664

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

アプリ化する前にそのコードが動作することを確認されている前提で。

以前に別の方に回答をさせていただいた内容をリンクします。
teratail:Pyinstallerで作成したexeファイルが実行できない

端折ると私も下記を参照させていただいてアプリ化できました。
pyinstallerの*.specファイル作成法。

投稿2020/07/10 06:36

mdj

総合スコア220

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nyumonsya

2020/07/11 15:20

mdj様 回答を頂きありがとうございます!!!! 内容実行してみました。 ・・・ただ、初級者の自分には難しく、「.specファイルって何だろう・・」という時点で頓挫してしまいました・・ 勉強して出直さねばならないようですが、もし引き続きご教示頂けるならばぜひよろしくお願いしますm(_ _)m
mdj

2020/07/13 00:53

teamiklさんからご確認されていますので、まずはそちらをご確認いただければと思います(環境やバージョン等について)。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問