Python学習【365日チャレンジ!】311日目のマスターU(@Udemy11)です。
ここ数日で一気に朝晩冷え込むようになってきました。
本格的な冬の到来という感じで、釣りに行くのもかなりの寒さ対策が必要になるので、どんどん釣りに行く頻度が落ちていきます。
とはいっても、釣れている釣果情報が入れば釣りに行きたくなるんですけどね。
それでは今日も、Python学習を始めましょう。
昨日の復習
昨日、一昨日と、tkinter
を使って、計算機アプリを作成しました。
作成というより、サンプルコードの解説でスムーズにプログラムが動いているような感じだったと思いますが、コードは写経したので、実際はスペルミスなどがあって、なかなかうまく動きませんでした。
自分でコードを理解しながら書いていくと、ある程度プログラミングのコードが書けるようになったと錯覚しちゃうんですが、何もない状態からコードが書けるようになるまでは、まだまだ時間がかかりそうです。
くわしくは、昨日、一昨日の記事をごらんください。
今日は、py2app
を使って昨日作成した計算機をMacで使えるようにしてみます。
py2app
PythonファイルからMac上で動くアプリを作ることができるのがpy2app
です。
まずは、このpy2app
をターミナルでpip
インストールしますが、Pythonの実行環境によって、うまく動作しないことがあるらしいので、以前学習したvirtualenv
環境下で作業していきます。
ターミナル上で、virtualenv calapp
を実行して、calapp
という任意の名前のvirtualenv
を作ります。
次にsource calapp/bin/activate
を実行して、環境をアクティベイトしてからpip install py2app
を実行して、py2app
をインストールします。
今回pipのバージョンが古いという警告が出たので、ついでにpip install --upgrage pip
を実行して、最新バージョンのpip
にアップデートしておきました。
これでvirtualenv
上でpy2app
を使える準備ができたので、calculator.py
からsetup.py
を作成します。
setup.py
Macで使うアプリケーションとして作成した計算機を使うには、作ったcalculator.py
と、Mac上で動かせるようにするためのsetup.py
が必要です。
calculator.py
は、すでに作っているので、一昨日の記事からコードを参照してください。
ということで、まだ作成していないsetup.py
を準備しますが、py2app
を使ってcalculator.py
をもとにsetup.py
を作ります。
先程の続きのターミナル上で、ls
コマンドを使い、作業フォルダにcalculator.py
があることを確認します。
続いて、ターミナル上で、py2applet --make-setup calculator.py
を実行します。
すると、作業中の階層にsetup.py
が作られるので、再度ls
でフォルダ内を確認すると、setup.py
ができているのがわかります。
できたsetup.py
の中身は次のようなコードになっています。
"""
This is a setup.py script generated by py2applet
Usage:
python setup.py py2app
"""
from setuptools import setup
APP = ['calculator.py']
DATA_FILES = []
OPTIONS = {}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
最初に、ドキュメンテーションの記述があって、Usage
にpython setup.py py2app
とあるので、ターミナル上でこのコマンドを実行すれば、Mac上でcalculator.py
が動くアプリを作成することができます。
8行目では、Jarvisのレクチャーで学習したsetuptools
をインポートしています。
10行目でアプリのファイルを指定する変数APP
にcalculator.py
に指定して、DATA_FILES
には空のリスト、OPTIONS
には空の辞書型データを指定しています。
14行目以降でセットアップする内容が書かれています。
setup.pyの実行
続いて、ターミナルからドキュメンテーションにあったpython setup.py py2app
を実行します。
py2app
を使ってsetup.py
が実行され、最終的にDone!
と表示されれば、Mac上でcalculator.py
が動かせるアプリが作成されています。
Macで開く
Finderから、作業中のフォルダを開いて、出来上がったアプリを見てみます。
Pycharm上では、アプリの中のファイルが表示されいますが、Finderからはフォルダではなくアプリとして認識されているので、パッケージ内は表示されていません。
Finderからcalculator.app
をダブルクリックすれば、計算機アプリが起動します。
マウスを使って計算機を操作してみて、うまく計算されていれば計算機アプリの完成です。
ちなみに、作業していたターミナル上のvirtualenv
は、deactivate
コマンドを実行すれば終了することができます。
まとめ
PythonからMacで動くアプリケーションをはじめて作りましたが、Pythonのプログラムを実行して動かすのではなく、通常のアプリとして自分が作ったものを動かせるというのはめっちゃテンションが上ります。
これまでは、Pythonのコードを書いて、Pycharmからやターミナルから実行していたので、どうやってMacのアプリのように動かせるのがわかっていませんでした。
それが今回のレクチャーでMacのアプリとして動かせる方法がわかったので、モヤモヤしていたものがちょっとだけ取り除かれた感じがします。
まだ、ようやく入り口にたどり着いたような感じなので、気持ちを引き締めて継続していこうと思います。
それでは、明日もGood Python!