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

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

ただいまの
回答率

87.59%

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

受付中

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,757

score 34

お助け頂きたいです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', '指定されたファイルが見つかりません。')

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • teamikl

    2020/07/12 02:33

    コマンドを実行した時に出るログを記載できますか。
    エラーログ等は出てないでしょうか?

    画像ファイルを含めたり、画像ファイル読込のパス修正等必要になりますが、
    まずは実行ファイルが出来ていないようなので、その点の原因を探しましょう。

    キャンセル

  • nyumonsya

    2020/07/12 22:44

    teamikl様
    反応を頂き誠にありがとうございます!
    m(_ _)m

    コマンド実行時のメッセージを本文に追加しました。
    ※文字数制限のため一部省略

    その中で、末尾の以下の一文が気になっています・・・
    引き続き、よろしくお願い致します!
    「pywintypes.error: (2, 'LoadLibraryEx', '指定されたファイルが見つかりません。')」

    キャンセル

  • teamikl

    2020/07/12 23:00

    .app ファイルとありますが、環境はwindowsのようですが .exeではないですか?(確認)

    先にこちらのエラーですね
    > AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'

    調べてみると
    https://github.com/theskumar/python-dotenv/issues/53

    conda 環境に pip で誤ったパッケージをインストールした際の問題の様です、
    環境構築はどのように行われましたか?環境やバージョン等も追記してください。

    キャンセル

回答 2

+1

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/07/12 00:20

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

    キャンセル

  • 2020/07/13 09:53

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

    キャンセル

+1

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ファイル)に、埋め込む画像ファイルの指定も必要です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 87.59%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る