🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

PyInstaller

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

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Python

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

Q&A

解決済

1回答

10063閲覧

pyinstallerで生成したexeファイルを実行しても何も動作しない

python01

総合スコア16

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

PyInstaller

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

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Python

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

0グッド

0クリップ

投稿2021/03/03 16:23

編集2021/03/09 14:55

発生している問題

pyinstallerを用いてexeファイルを
エラーなしでexeファイルを開くところまでできたのですが、
開いた後、何も動作しません。
(exeファイルを押すと、コマンドプロンプトのような真っ黒い画面が一瞬出て消える)

尚、Pythonのコードは下記通りで、ポップアップが表示されるのみのコードです。

Python

1import pyautogui as pgui 2 3pgui.alert('exe化テスト')

試したこと

  • pyinstaller 実行方法変更

下記コードで --onefile --noconsoleを外しても共に
「~completed successfully.」
と表示され、エラーなくexe化されます。

AnacondaPowershellPrompt

1 pyinstaller excel_test.ipynb --onefile --noconsole

追記:hookファイル(3月7日)

こちらの記事を参考に進めています。
https://teratail.com/questions/184343

元々Pyinstaller実行時に下記エラーが発生していました。

↓ Pyinstaller実行時のエラー

pyinstaller

1WARNING: lib not found: 2

上記記事を参考に下記コードのファイルを作成しました。

Python

1from PyInstaller.utils.hooks import collect_data_files 2datas = collect_data_files('pyautogui') 3

保存場所及びファイル名:
./hooks/hook-pyautogui.ipynb

pyinstaller実行時のコードは下記で行いました。

AnacondaPowerShell

1 pyinstaller excel_test.ipynb --onefile --additional-hooks-dir=./hooks/ --debug all

元々発生していた「lib not found」は発生していないので、
pyautoguiをimportできたと考えています。
しかし、exeファイルを実行しても「exe化テスト」のポップアップは表示されません。

pyinstaller実行時のログは下記通りです。

PyinstallerLog

1(base) PS C:\Users\user\RPA> pyinstaller excel_test.ipynb --onefile --additional-hooks-dir=./hooks/ --debug all 22104 INFO: PyInstaller: 4.2 32104 INFO: Python: 3.8.3 (conda) 42106 INFO: Platform: Windows-10-10.0.19041-SP0 52116 INFO: wrote C:\Users\user\RPA\excel_test.spec 62122 INFO: UPX is not available. 72137 INFO: Extending PYTHONPATH with paths 8['C:\Users\user\RPA', 'C:\Users\user\RPA'] 92237 INFO: checking Analysis 102257 INFO: Building because noarchive changed 112257 INFO: Initializing module dependency graph... 122271 INFO: Caching module graph hooks... 132288 WARNING: Several hooks defined for module 'win32ctypes.core'. Please take care they do not conflict. 142303 INFO: Analyzing base_library.zip ... 159276 INFO: Processing pre-find module path hook distutils from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks\pre_find_module_path\hook-distutils.py'. 169278 INFO: distutils: retargeting to non-venv dir 'c:\users\user\anaconda3\lib' 1714795 INFO: Caching module dependency graph... 1815069 INFO: running Analysis Analysis-00.toc 1915099 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable 20 required by c:\users\user\anaconda3\python.exe 2115498 INFO: Analyzing C:\Users\user\RPA\excel_test.ipynb 2215502 INFO: Processing module hooks... 2315503 INFO: Loading module hook 'hook-difflib.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 2415513 INFO: Excluding import of doctest from module difflib 2515514 INFO: Loading module hook 'hook-distutils.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 2615517 INFO: Loading module hook 'hook-distutils.util.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 2715528 INFO: Excluding import of lib2to3.refactor from module distutils.util 2815529 INFO: Loading module hook 'hook-encodings.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 2915663 INFO: Loading module hook 'hook-heapq.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 3015667 INFO: Excluding import of doctest from module heapq 3115667 INFO: Loading module hook 'hook-lib2to3.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 3215732 INFO: Loading module hook 'hook-multiprocessing.util.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 3315735 INFO: Excluding import of test.support from module multiprocessing.util 3415735 INFO: Excluding import of test from module multiprocessing.util 3515743 INFO: Loading module hook 'hook-pickle.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 3615747 INFO: Excluding import of argparse from module pickle 3715748 INFO: Loading module hook 'hook-sysconfig.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 3815750 INFO: Loading module hook 'hook-xml.etree.cElementTree.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 3915760 INFO: Loading module hook 'hook-xml.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 4016015 INFO: Loading module hook 'hook-_tkinter.py' from 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks'... 4116253 INFO: checking Tree 4216320 INFO: checking Tree 4316466 INFO: checking Tree 4416498 INFO: Looking for ctypes DLLs 4516568 INFO: Analyzing run-time hooks ... 4616577 INFO: Including run-time hook 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_multiprocessing.py' 4716584 INFO: Including run-time hook 'c:\users\user\anaconda3\lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_win32api.py' 4816617 INFO: Looking for dynamic libraries 4916901 INFO: Looking for eggs 5016902 INFO: Using Python library c:\users\user\anaconda3\python38.dll 5116904 INFO: Found binding redirects: 52[] 5317344 INFO: Warnings written to C:\Users\user\RPA\build\excel_test\warn-excel_test.txt 5417427 INFO: Graph cross-reference written to C:\Users\user\RPA\build\excel_test\xref-excel_test.html 5517446 INFO: checking PYZ 5617466 INFO: Building because toc changed 5717467 INFO: Building PYZ (ZlibArchive) C:\Users\user\RPA\build\excel_test\PYZ-00.pyz 5817468 INFO: Building PYZ (ZlibArchive) C:\Users\user\RPA\build\excel_test\PYZ-00.pyz completed successfully. 5917485 INFO: checking PKG 6017504 INFO: Building because toc changed 6117504 INFO: Building PKG (CArchive) PKG-00.pkg 6220434 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully. 6320452 INFO: Bootloader c:\users\user\anaconda3\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run_d.exe 6420452 INFO: checking EXE 6520468 INFO: Building because debug changed 6620469 INFO: Building EXE from EXE-00.toc 6720482 INFO: Copying icons from ['c:\users\user\anaconda3\lib\site-packages\PyInstaller\bootloader\images\icon-console.ico'] 6820584 INFO: Writing RT_GROUP_ICON 0 resource with 104 bytes 6920585 INFO: Writing RT_ICON 1 resource with 3752 bytes 7020586 INFO: Writing RT_ICON 2 resource with 2216 bytes 7120596 INFO: Writing RT_ICON 3 resource with 1384 bytes 7220597 INFO: Writing RT_ICON 4 resource with 37019 bytes 7320597 INFO: Writing RT_ICON 5 resource with 9640 bytes 7420598 INFO: Writing RT_ICON 6 resource with 4264 bytes 7520599 INFO: Writing RT_ICON 7 resource with 1128 bytes 7620604 INFO: Updating manifest in C:\Users\user\RPA\build\excel_test\run_d.exe.0zcjq27_ 7720698 INFO: Updating resource type 24 name 1 language 0 7820704 INFO: Appending archive to EXE C:\Users\user\RPA\dist\excel_test.exe 7920806 INFO: Building EXE from EXE-00.toc completed successfully.

↓ コマンドプロンプト実行時ログ

CommandPromptLog

1[12960] LOADER: Error activating the context: ActivateActCtx: 2既定のアクティブ化コンテキストのプロセスは既に設定されていたため、既定のアクティブ化コンテキストのプロセスを設定する試みは失敗しました。

補足情報(環境)

OS:windows10 64bit
Python:3.8.3
pip:21.0.1
pyinstaller:4.2

Marusoftware様へ回答 補足画像

exe実行後に表示された画像は下図の通りです。
イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

えっと、困ったことに、pyautoguiの使い方を知らないので、tkinterで良ければ...

python3

1import tkinter 2from tkinter import messagebox 3 4root=tkinter.Tk() 5root.withdraw() 6messagebox.showwarning('exe化テスト') 7root.destroy()

これを、pyinstallerで、

shell

1pyinstaller /path/to/script -w

とするとできるかと思います。

投稿2021/03/09 10:17

編集2021/03/09 10:27
Marusoftware

総合スコア189

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

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

Marusoftware

2021/03/09 10:27

すみません... --onefileをつけ忘れました... ちなみに、-wはwindowedという意味があります。
python01

2021/03/09 14:52

ご教示頂きありがとうございます。 Jupyterではtkinterを用いたポップアップ表示はうまくいきました。 exe化すると何も表示されません。 Powershellでのコードは下記通りです。 pyinstaller test.ipynb --onefile -w ※後ろに「--debug all」を付けると  エラーのポップアップが表示されたので、添付します。  (回答欄に画像を貼り付ける方法がわからなかったので、   質問の最後に貼り付けておきます)
Marusoftware

2021/03/09 16:09

画像ありがとうございます。 えっと、エラー文を見る限り、pyinstallerで作ったexeのブートローダー?が動いていないようで... えっと、conda上で、Jupyterをお使いになられているようなのですが、一度、普通に.pyだけで、ためしていただいて、それでもだめだったら、公式のcpythonを入れていただくと、解決するかと思います... なんというか、anacondaでpyinstaller使って、tkinterを使うexeを作ると、 肥大化&ウゴカナイ現象に悩まされると聞いたことがあるので...
Marusoftware

2021/03/09 16:10

本当の意味での「解決」になっていなくて、申し訳ないのですが、よろしくおねがいします...
python01

2021/03/09 16:28

夜分にご回答いただき申し訳ありません。 明日試してみます!
python01

2021/03/10 13:34

py形式変更すると、うまくいきました! (ipynbファイルはJupyter専用ファイルということを知らなかったです。勉強不足でした。) exe化で2週間ほど躓いたので、助かりました!! ありがとうございます。 一つ気になったのが、exeにするとかなり重いですね... pyautoguiの2行のコードで270MB、 頂いたtkinterのコードで10MBでした。 exe化の時に軽くする方法はご存じではないでしょうか?
Marusoftware

2021/03/10 15:48

すみません...返信遅れました... うまくいってよかったです!!! > 先程の件、 > 240M→60M > に軽量化できる記事があったので試してみます。 頑張ってください...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問