Python:インストーラーの作成 cx_Freezeモジュール

こんにちは かず まなぶ です。(´・ω・`)

今日は、前回tkinterで作成した電卓ソフトを題材にwindows向けインストーラーを作成する手順についてやっていこうと思います。

おおまかな手順

  1. cx_Freezeのインストール
  2. setup.pyの作成
  3. ビルドとmsi生成
  4. インストール

1.cx_Freezeのインストール

anacondaプロンプトで

うまくいかないときはpipをアップグレードしましょう。

2.setup.pyの作成

電卓ソフト本体の他にsetup.pyというものを作成する必要があります。

cx_Freezeのサイトに行くと下記のようなsetup.pyを作成しなさいと説明があります。

os.environについてはtclとtkの絶対パスを指定する必要がありますので、適宜書き換えてください。

Executableには電卓ソフト本体のファイル名として”calculator.py”を指定します。

あとはショートカットとか名称を変えられるので、好きにやってください。

3.ビルドとmsi生成

anacondaプロンプトを立ち上げます。

calculator.pyとsetup.pyをカレントディレクトリにいれ、anacondaプロンプト上で、

終わったら

をすると、カレントディレクトリ内にbuildディレクトリとdistディレクトリが生成されます。

このdistディレクトリにはインストーラーであるcalculator-1.0.0-amd64.msiファイルが入っています。

インストール

インストーラーmsiを実行してみましょう。インストールはprogramfileディレクトリで良いと思います。

スタートボタンを押して、アプリケーション一覧を見ると見出し”C”のなかにcalculatorが入っているはずです。

実行すれば、pythonが入っていないPCでも動きます。

以上でございました。

 

 

Python:tkinter はじめの一歩

こんにちは かず まなぶ です。(´・ω・)

今日はtkinterを触っていこうと思います。

tkinterはpythonをインストールすると最初から入っているpython用のGUIモジュールです。

他にもwxPythonとかKivyが気になるのですが、まずはtkinterで最低限のことをやれるようになってから、他のGUIにチャレンジしようと思います。

tkiniterのフレームワーク

まだまだ腑に落ちないところがありますが、とりあえずこれで最低限動きました。

応用:tkinterで電卓アプリを作ってみる

応用例として、簡単な電卓を作ってみました。

今後のtkinter勉強

私の最終ゴールは、画像処理アプリの作成です。

画像をカメラで取得し、リアルタイムで画像処理して表示するというところまでやっていきたいと思います。かず まなぶ (´・ω・)

python:classとmethodの作り方について

こんにちは、かずまなぶです。

最近マイクロソフトのホロレンズを試す機会をいただきました。VRとARは似て非なるもの。VRが「没入型、隔離型」なら、ARは「現実にちょっとした情報を上乗せしていく」ような感じでした。

それぞれ特徴があり、またどちらもわたくしの好奇心を激しく揺さぶるデバイスです。ホロレンズ2が出るとの噂があり100%買ってしまいそうです。またオキュラスクエストも発売が近いのではないでしょうか。VRの本命はクエストだと思います。ミラージュは・・・・・、もういいかな・・・。余談はこれくらいにして・・・。

今日の本題です。クラスの作り方とそのメソドの作り方、クラスの継承、オーバーライドをやっていきます。

クラスの使い方 レベル1

まずは最も基本の形です。オブジェクト指向の感覚を養いましょう。

これを実行するとkenjiさんはsay_wordメソドで ” hello world ” と発言します。

クラスの使い方 レベル2

クラスを呼び出したときに勝手に実行される「初期化メソド」、クラスからつくったオブジェクトの変数である「アトリビュート」、おまけにメソドの中でもメソドをネストして使用することができます。

コンストラクタ と デストラクタ  レベル3

コンストラクタ:初期化メソドのようなクラスを呼び出された時点で動作するメソドです。

def __init__(self,name=”名無し”):

デストラクタ:作ったオブジェクトを廃棄するときに使うメソドです。

def __del__(self):

デストラクタを実行するときは、明示的に del personと書くと良いです。

クラスの継承 レベル4

class Car(object):というクラスが予め存在しているとします。

後から作るHondaCarクラスがほとんどCarクラスと同じだった場合、クラスの承継という操作をすることで、Carクラスの持っているメソドを丸ごとコピーできます。これによって、重複するメソドをなくしてスクリプトを綺麗にできます。

class HondaCar(Car): これだけです。

 

クラスのオーバーライド(上書き)レベル5

クラスのオーバーライド(上書き)とは:

クラスを継承したとき全てのメソドを継承するわけですが、その後で”同名のメソド”を定義すると継承したメソドが上書きされ再定義されます。

 

スーパークラス レベル6

スーパークラスとは:

継承した元のクラス、親クラスのことです。

例として、(Carクラス)の__init__初期化メソドを流用してみましょう。

super().__init__(model)の部分です。

まだまだ続きます

随時更新します。classの話は相当奥が深いのです。

2019.5.1 令和元年

python:pandasの使い方 基本

pandasの使い方について、基本だけ載せておきます。

後日追記します。

 

Python :listの操作

こんにちは、今日はlistの操作をやっておこうと思います。
numpyばかり使っているとlistの操作方法を忘れてしまう今日この頃です。

list の操作 数値

list の操作 文字列

こちらは、

  1. li.strip :改行を削除する
  2. li.find :該当する文字列の最初の位置を見つける
  3. “__” in li :該当する文字列が入っているか
  4. li.replace :該当する文字列を置換する
  5. li.split(“○○”) :区切り文字で分割する
  6. “○”.li :指定の文字で繋げる

くらいでしょうか

 

MySQL:データベース構造の操作 #18

MySQL:データの更新 #17

MySQL:条件分岐 #16

MySQL:サブクエリ #15