こんにちは かず まなぶ です。(´・ω・`)
今日は、前回tkinterで作成した電卓ソフトを題材にwindows向けインストーラーを作成する手順についてやっていこうと思います。
おおまかな手順
- cx_Freezeのインストール
- setup.pyの作成
- ビルドとmsi生成
- インストール
1.cx_Freezeのインストール
anacondaプロンプトで
1 |
pip install cx_Freeze |
うまくいかないときはpipをアップグレードしましょう。
1 |
pip install --upgrade pip |
2.setup.pyの作成
電卓ソフト本体の他にsetup.pyというものを作成する必要があります。
cx_Freezeのサイトに行くと下記のようなsetup.pyを作成しなさいと説明があります。
os.environについてはtclとtkの絶対パスを指定する必要がありますので、適宜書き換えてください。
Executableには電卓ソフト本体のファイル名として”calculator.py”を指定します。
あとはショートカットとか名称を変えられるので、好きにやってください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import os import sys from cx_Freeze import setup, Executable os.environ['TCL_LIBRARY'] = 'C:\\Users\\omoiy\Anaconda3\\tcl\\tcl8.6' os.environ['TK_LIBRARY'] = 'C:\\Users\\omoiy\Anaconda3\\tcl\\tk8.6' build_exe_options = {} base = None if sys.platform == "win32": base = "Win32GUI" directory_table = [ ( "ProgramMenuFolder", "TARGETDIR", ".", ), ( "CalMyProgramMenu", "ProgramMenuFolder", "Calculator", ), ] msi_data = { "Directory": directory_table, } setup( name = "calculator", version = "1.0.0", description = "My Calculator", options = {"build_exe": build_exe_options, 'bdist_msi': { 'data': msi_data } }, executables = [ Executable( "calculator.py", base=base, shortcutName="Calculator", shortcutDir="CalMyProgramMenu", ) ]) |
3.ビルドとmsi生成
anacondaプロンプトを立ち上げます。
calculator.pyとsetup.pyをカレントディレクトリにいれ、anacondaプロンプト上で、
1 |
python setup.py build |
終わったら
1 |
python setup.py bdist_msi |
をすると、カレントディレクトリ内にbuildディレクトリとdistディレクトリが生成されます。
このdistディレクトリにはインストーラーであるcalculator-1.0.0-amd64.msiファイルが入っています。
インストール
インストーラーmsiを実行してみましょう。インストールはprogramfileディレクトリで良いと思います。
スタートボタンを押して、アプリケーション一覧を見ると見出し”C”のなかにcalculatorが入っているはずです。
実行すれば、pythonが入っていないPCでも動きます。
以上でございました。