以前Python fileをexe fileに変換した例を載せましたが、今回は自分の記憶を留めるためにも可なり具体的に載せます。
最初にまずPython_exeと云うholderをデスクトップに作ります。
次にその中にexe化したいpyファイルを入れます(ここでは難英単語3a.py)
Command Promptを立ち上げます (ユーザー権限でOK)
次がDOSスクリプトでexe化するときの設定順序です。
C:\Users\tak11> #スクリプトon時の画面
C:\Users\tak11\cd デスクトップ #デスクトップへpathを切り替えます。
C:\Users\tak11\デスクトップ>cd Python_exe #Python_exe holderにpathを切り替えます。
C:\Users\tak11\デスクトップ>Python_exe> #するとこの画面になります。
C:\Users\tak11\デスクトップ>Python_exe>pyinstaller -F -w 難英単語3a.py #ここがexe化の指示です。
この後30秒位かかりますが、Python_exeホルダーの中に次のholderが3個と難英単語3a.specが出来ております。
□_pycache_ #ここは無視してください。
□ build #ここも無視してください。
□ dist #exeファイルはこの中に出来ております。
*難英単語3a.py
*難英単語3a.spec
難英単語3a.pyはもともと入れたfileですので、それを除けば4件が出来ております。
目的のexe fileは「dist」の中に「難英単語3a.exe」として出来ております。
この「難英単語3a.exe」を配布する時は、exeファイルのままだとmail配布の際配布エラーになり易いので、ZIPに変換してからmailするのが良いかと思います(確認済み)。
pyファイルだと6KBですが、外部ライブラリーも一緒にexe化されるので5.3MBと肥大化します。
注意:pyinstaller -F -w 難英単語3a.py
・-Fを付けるとexe化に必要なfileが全て纏められるので、付けた方が出来上がりが簡潔になる
・-wを-Wとするとエラーになる
・難英単語3a.specは、別のholderやpathにあるimgやsoundを合わせてexe化するときに使いますが、今回は使用しません。
exe化が完了すると、Command Promptには次のように表示がされます。
C:\Users\tak11>cd デスクトップ
C:\Users\tak11\デスクトップ>cd Py_exe
C:\Users\tak11\デスクトップ\Py_exe>pyinstaller -F 難英単語3a.py
ここまではexe化する人が入力した文言で、その後は次のように表示されます(長いので途中省略してます)。
218 INFO: PyInstaller: 3.5
218 INFO: Python: 3.7.3
218 INFO: Platform: Windows-10-10.0.18362-SP0
218 INFO: wrote C:\Users\tak11\デスクトップ\Py_exe\難英単語3a.spec
218 INFO: UPX is not available.
234 INFO: Extending PYTHONPATH with paths
[‘C:\\Users\\tak11\\デスクトップ\\Py_exe’, ‘C:\\Users\\tak11\\デスクトップ\\Py_exe’]
234 INFO: checking Analysis
~~~~~~~~~
~~~~~~~~~
9485 INFO: Bootloader c:\users\tak11\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe
9485 INFO: checking EXE
9485 INFO: Building EXE because EXE-00.toc is non existent
9485 INFO: Building EXE from EXE-00.toc
9485 INFO: Appending archive to EXE C:\Users\tak11\デスクトップ\Py_exe\dist\難英単語3a.exe
9548 INFO: Building EXE from EXE-00.toc completed successfully.
C:\Users\tak11\デスクトップ\Py_exe>
ここまで表示されていれば、exeは出来ているはずです。
以上