PythonのTkinterの学習のアウトプットとして、動画視聴管理アプリを作成しました。このプロジェクトでは、Windowsインストーラを初めて作成し、GitHubに公開しています。GitHub Actionsも活用しており、簡単なunittestを実施しました。
GitHub
作成の目的
YouTubeやUdemyでの学習記録をまとめたいと考えたためです。
主な機能
- 入力・登録フォーム
- Excelデータベースへの保存機能
- SQLite保存機能
使用したツール
- innoSetup(Windowsインストーラ作成用)
Python環境があれば、データベースはExcelだけでなく、SQLiteも使用可能です。
使用ツールの補足: DB Browser for SQLite
DB Browser for SQLite
SQLite用のGUIツール「DB Browser for SQLite」を活用することで、SQL操作に慣れていない方でも簡単にデータベースを操作できます。
学習したこと
- フォーム作成
- Excelへの登録機能実装
- SQLiteへのデータ保存機能実装
- アイコン作成
- 実行ファイル作成
- innoSetupを使ったWindowsインストーラの作成
アイコン作成
プロジェクトフォルダ内に「ICON」フォルダを作成し、アプリ用のアイコンを作成して保存しました。
実行ファイル作成
pyinstaller
を使用して実行ファイルを作成しました。
インストーラ作成
-
使用ツール: innoSetup
当初はcx_Freeze
を試しましたが、Pythonの依存関係の問題でエラーが発生したため、最終的にinnoSetupを採用しました。innoSetupは依存関係をうまく処理してくれるため便利でしたが、設定には試行錯誤が必要でした。
テスト
- 簡単なunittestを作成
- GitHub Actions用のYAMLファイルを作成
- Windowsインストーラを使用し、アプリをインストールして動作確認
苦労した点
-
Pythonの依存関係:
依存関係のエラーで何度も実行ファイルを作成し直す必要がありました。 -
innoSetupの設定:
初期設定ではエラーが発生し、フォルダ構成やスクリプトの記述を追加する必要がありました。
今後の課題
- 開発フローを覚え、機能を充実させていく。
-
テスト:
- Pytestを活用して厳密なテストを行う。
-
インストーラ:
- 他のツール(例: cx_Freeze)にも挑戦する。
このプロジェクトを通して、コード作成からテスト、実行ファイル・インストーラ作成、GitHub Actionsまでの一連の流れを学習できました。引き続きスキルアップを目指していきます。