【DIYプログラミング】!Windows用ツール作成でPythonを学ぶ

当ページのリンクには広告が含まれています。

Pythonはシンプルで読みやすい文法を持ち、初心者でも扱いやすいプログラミング言語です。多数のライブラリが提供されており、コマンドプロンプトで動作するAIプログラムからデスクトップアプリケーションまで、幅広い開発で使われています。

画面の操作性を重視したデスクトップアプリの場合はC#が最適ですが、処理の自動化が主な目的で、それを実行するための簡単な画面があれば十分というケースでは、Pythonに軍配が上がります。

本記事では、Pythonを使った自動化ツールの開発に挑戦したいDIYプログラマーを対象に、最初の一歩を踏み出すために必要な情報を紹介致します。

目次

はじめに

DIYプログラミングの魅力

プログラミングDIYは、自分のアイデアを形にする創造的な活動です。

自分だけのツールやアプリケーションを作成することで、日常の問題解決や作業効率の向上を図れるのはもちろん、学習意欲を高め、達成感を得ることもできます。

プログラミングを通じて自分のアイデアを実現する喜びは、他に代えがたいものがあります。また、プログラミングスキルは、現代社会において非常に価値のあるスキルであり、自己成長やキャリアアップにもつながります。

Pythonを選ぶ理由

数あるプログラミング言語の中で、Pythonは特に初心者に優しい言語として知られています。シンプルで読みやすい文法を持ち、コードを書くのが楽しいと感じられることが多いです。

また、Pythonは非常に多目的に使える言語であり、ウェブ開発、データ解析、機械学習、デスクトップアプリケーションの開発など、様々な分野で利用されています。

豊富なライブラリとコミュニティサポートもあり、学習しやすい環境が整っています。

Pythonとは

Pythonの概要

Pythonは、オランダ出身のアメリカ在住プログラマー「グイド・ヴァンロッサム」によって、1991年に開発された高水準プログラミング言語です。オープンソースであり、誰でも無料で使用することができます。

Pythonは、そのシンプルで直感的な文法と強力な標準ライブラリによって、初心者からプロフェッショナルまで幅広い層に支持されています。

Pythonの特徴と利点

  • 読みやすいコード
    Pythonは、読みやすいコードを書くことを重視して設計されています。インデントによるブロック構造や、英語に近いキーワードを使用することで、他のプログラミング言語と比較してコードが直感的です。

  • 豊富なライブラリ
    Pythonは標準ライブラリが充実しており、さまざまな機能を簡単に利用することができます。また、サードパーティのライブラリも非常に多く、様々な用途に対応したツールが揃っています。

  • マルチパラダイム
    Pythonは、オブジェクト指向プログラミング、関数型プログラミング、手続き型プログラミングなど、複数のプログラミングパラダイムをサポートしています。

  • クロスプラットフォーム
    Pythonは、Windows、macOS、Linuxなど、さまざまなプラットフォームで動作します。これにより、開発環境を選ばずに使用することができます。

  • コミュニティサポート
    世界中に活発な開発者コミュニティが存在し、質問や問題解決のためのリソースが豊富にあります。公式ドキュメントも充実しており、学習しやすい環境が整っています。

PythonによるDIYプログラミングの環境準備

Pythonをインストールする

まず、Pythonを使用するためには、Python配布サイトからインストーラーをダウンロードし、インストールする必要があります。

Pythonを配布しているサイトは4つほどあり、それぞれ特徴が異なります。ちなみに、Python自身は無料ですが、商用利用でAnacondaからPyhtonをインストールする場合のみ、ライセンス料が発生します。

配布サイトインストールの特徴
本家Python最新のPythonを入手したい場合は本家Pythonのインストーラーを使う。
ライブラリは最低限しかインストールされないので、必要に応じて自分でインストールが必要。
配布サイト:https://www.python.jp/install/windows/install.html
Anaconda本家から最新版Pythonがリリースされた後、しばらくして配布される。
Pythonと合わせて機械学習に必要な一通りのライブラリがインストールされる。
配布サイト:https://www.anaconda.com/download
MinicondaAnacondaから機械学習に必要なライブラリを抜いたもの。
ライブラリは最低限しかインストールされないので、必要に応じて自分でインストールが必要。
配布サイト:https://docs.anaconda.com/free/miniconda/
WinPython本家から最新版Pythonがリリースされた後、しばらくして配布される。
USBに入れて持ち運びできるようなポータブルなPython環境を作ることができる。
配布サイト:https://sourceforge.net/projects/winpython/files/

より詳しくい説明とインストール方法は、「【初心者必見】Pythonインストールはどれを選べばいい?(Windows)」の記事に記載していますので、そちらをご覧ください。

AnacondaとMinicondaには、conda と呼ばれる強力な仮想環境構築ツール(後述)が付属しています。

開発ツール(コードエディタ)をインストールする

Pythonでの開発を快適に行うためには、自分に合った開発ツールを選定することが重要です。今回は、その中でも特に人気が高いPython開発環境を4つご紹介します。

Visual Studio Code

Microsoftが提供する無料のコードエディタで、豊富な拡張機能が特徴です。Pythonの拡張機能をインストールすることで、コード補完、デバッグ、Linting(コードの静的解析)など、様々な機能が利用できます。

https://code.visualstudio.com/

引用元:マイクロソフト

PyCharm

JetBrainsが提供するPython専用のIDEで、強力なデバッグ機能やコードナビゲーション機能が特徴です。無料版のCommunity Editionと、有料版のProfessional Editionがあります。

https://www.jetbrains.com/ja-jp/pycharm/

引用元:PyCharm

Sublime Text

軽量で高速なコードエディタで、シンプルなUIが特徴です。Python開発向けのパッケージも多数用意されています。

https://www.sublimetext.com/

Visual Studio Community

マイクロソフトが無料で提供する統合開発環境(IDE)です。Windows、macOS、Linuxに対応しており、個人開発者や学生であれば無償で利用できます。

https://visualstudio.microsoft.com/ja/vs/community/

引用元:マイクロソフト

必要なライブラリをインストールする

ライブラリは pip コマンドを使います。Python は、Python自身のバージョンとライブラリのバージョンの組み合わせに相性があり、バージョンを誤るとエラーで動作しないこともしばしばあります。

そのため、インストール時に最新のバージョンをインストールする方法と、ライブラリのバージョンを指定する方法の2通りが用意されています。

pip install ライブラリ名
pip install ライブラリ名 == バージョン

pip install pandas
pip install pandas==1.3.3

仮想環境を作る(必要に応じて)

Python自身は進化し続けていますが、それにも増してライブラリの進化は激しく、バージョンによって過去の関数が削除されたり、動作が変わることもめずらしくありません。

このことにより、ある時点で動作していたプログラムが、ライブラリのバージョンを変えたことで急に動作しなくなることを「依存関係がある」と表現しますが、開発者にとって厄介な問題でした。

仮想環境は、Pythonのプロジェクトごとに独立したパッケージ管理と依存関係を設定するための仕組みです。これにより、異なるプロジェクトで使用するライブラリのバージョンが競合することなく、各プロジェクトごとに適切な環境を保つことができます。

Pythonのプロジェクトとは、作成対象のプログラムに必要なソースコード一式が格納されたフォルダのことを指します。このフォルダには、ソースコードだけでなく、プロジェクトに必要な設定ファイルや依存関係を管理するためのファイルも含まれます。

Python配布先コマンド仮想環境の特徴
Anaconda
miniconda
conda仮想環境では、Pythonバージョン、ライブラリバージョンともに自由に指定が可能。
本家Python
WinPython
venv仮想環境では、インストールしたPythonのバージョンが引き継がれる。
ライブラリバージョンは仮想環境ごとに指定が可能。

以下はAnaconda/miniconda/本家Python/WinPythonにおける仮想環境コマンドの使い方を一覧にまとめたものです。

スクロールできます
Anaconda/miniconda本家Python/WinPython
仮想環境の作成conda create --name myenvpython -m venv myenv
仮想環境の削除conda remove --name myenv--allmyenvフォルダを削除
仮想環境のコピーconda create --name new_env--clone myenvmyenv\Scripts\activate
pip freeze > requirements.txt
python -m venv new_env
new_env\Scripts\activate
pip install -r requirements.txt
仮想環境に入るconda activate myenvmyenv\Scripts\activate
仮想環境から抜けるconda deactivatedeactivate
ライブラリ一覧の表示conda listpip list

よく使うライブラリの紹介

GUI画面の作成に便利なライブラリ

Python には、画面を作成するための標準ライブラリとして Tkinter が含まれています。但しデザインが少し古いため、見栄えの良い画面が作成可能なライブラリもいろいろと登場しています。

ここでは、その中から3つを紹介しておきます。

Tkinter

Tkinter は、Python に標準搭載されている GUI ライブラリです。シンプルで軽量なため、初心者でも扱いやすいのが特徴です。また、豊富なライブラリと長い歴史を持つため、情報の入手が容易です。

特徴:

  • 軽量でシンプル
  • 標準搭載なのでインストール不要
  • 豊富なライブラリと情報量
  • 初心者向け

向き不向き:

  • 高度なデザインには向かない
  • モバイルアプリ開発には不向き

参考記事
【簡単解説】PythonでWindows用のGUIを作る(Tkinter基礎編)
【簡単解説】PythonでWindows用のGUIを作る(Tkinter実用編)

Flet

Flet は、Flutter をベースとした Python 製 GUI ライブラリです。Flutter の高パフォーマンスな UI を Python で利用できるのが特徴です。また、Web アプリだけでなく、モバイルアプリやデスクトップアプリも開発できます。

特徴:

  • Flutter の高パフォーマンスな UI を利用可能
  • Web アプリ、モバイルアプリ、デスクトップアプリを開発可能
  • ホットリロード機能による開発効率の向上
  • 豊富なコンポーネントとウィジェット

向き不向き:

  • 相対的に新しいフレームワークなので、情報量が少ない
  • Tkinter に比べると複雑

参考記事
【図解】PythonとFletによるUI開発で知っておきたい基礎知識

Gradio

Gradio は、機械学習やデータサイエンス向けの GUI をWebアプリとして作成できるライブラリです。
Webアプリでありながら、ドラッグ&ドロップで画像やファイルを指定することが可能です。
教師なし学習、画像分類、自然言語処理など、様々なタスクに特化したデモが作成できるよう、テーブル形式のデータ表示やグラフ描画にも対応しています。

特徴:

  • 機械学習/データサイエンス向けの UI を簡単に作成可能
  • Stable Diffusion などの生成AI向けUIで採用が多い
  • Hugging Face にデプロイ可能
  • クラウドサービスとの連携

向き不向き:

  • 一般的な GUI 開発には、あまり向かない
  • 画面デザインの自由度が低い

参考記事
【図とサンプルで解説】gradioでWeb UIを作るための基礎 by Python

データベースを扱う時に便利なライブラリ

以下は、データベースに接続するために必要なライブラリと、データベースにデータを登録する際に知っておくと便利な方法を紹介した記事の一覧です。

PostgreSQL【 Python 】psycopg2でPostgreSQLにアクセスしよう!
【詳しく解説】PostgreSQLにおけるUpsertの書き方(サンプル付き)
PostgreSQLに1回のinsertで複数データ登録 by Python
【 コピペでOK】9割の機能を網羅!PythonからPostgreSQLを扱うクラスを作ってみました。
Oracle【 Python 】cx_OracleでOracleにアクセスしよう!
【詳しく解説】OracleにおけるUpsertの書き方(サンプル付き)
【コピペでOK】9割の機能を網羅!PytonからOracleを扱うクラスを作ってみました。
SQLite【実用】WindowsのPythonからSQLiteを使う
【詳しく解説】SQLiteにおけるUpsertの書き方(サンプル付き)
【コピペで完了】9割の機能を網羅!PytonからSQLiteを扱うクラスを作ってみました。
SQLServer【 Python 】pyodbcでSQLServerにアクセスしよう!
【詳しく解説】SQL ServerにおけるUpsertの書き方(サンプル付き)
【コピペでOK】9割の機能を網羅!PytonからSQLServerを扱うクラスを作ってみました。
MySQL【 Python 】mysqlclientでMySQLにアクセスしよう!
【詳しく解説】MySQLにおけるUpsertの書き方(サンプル付き)
【 コピペでOK】9割の機能を網羅!PytonからMySQLを扱うクラスを作ってみました。

機械学習・AI

以下は機械学習やAI関連のライブラリに関する記事の一覧です。

【サンプル満載】Pythonで顔の検出/認識をするには?主なライブラリ4選
PythonでWordCloud(ワードクラウド)しようぜ
Python+pysummarizationで文書要約(テキストマイニング)しよう!
Python+sumyで文書要約(テキストマイニング)しよう!
Windowsのpythonとjanomeで形態素解析しようぜ!
WindowsのPythonとMeCabで形態素解析しようぜ!
【やさしく図解】pycaretの使い方(Windows)
【まる分かり】日本語大規模言語モデル「rinna」のインストール方法と使い方
【まる分かり】日本語大規模言語モデル「rinna」のインストール方法と使い方

その他の参考記事

以下は本ブログで扱っているライブラリの使い方を紹介している記事です。

【簡単便利】pythonからYouTubeを高画質でdownloadするぞ!by Windows
【超簡単】Pythonでマルチスレッド・マルチプロセス入門
【Python】文字列をプログラムとして実行する
【超簡単】Pythonで要約統計量(基本統計量)を計算するには?(pandas,numpy,statistics)
【超簡単】pythonで移動平均を計算するには?(pandas、numpy)
【超簡単】matplotlibで3D plot をマウスでグリグリ回そう!(by Python)
【超簡単】Python プログラムを pyinstaller で EXE化しよう
【良く分かる】Python loggerの 使い方と注意点
【よく分かる】xlwings でExcelマクロを実行しよう
【すぐに使える】matplotlibで複合グラフ(棒と折れ線)を簡単に描くクラスを作ってみました。
【図で解説】Pythonで自作モジュール(or パッケージ)をimportするために知っておきたいこと
【図で解説】Python アプリケーション推奨のフォルダ構成(ディレクトリ構成)
【Python】pandas の集計を体系化した図で解説(groupby,resample)

Pytyonのサンプルプログラム

これからPythonでDIYプログラミングを始める方のために、具体的なイメージが分かるサンプルプログラムを紹介します。

CSVを読みこんでグラフを表示するサンプル

指定フォルダに存在するファイル数と総容量を階層下まで計算、表示するサンプル

フォルダパスを入力してください: o:/testdata
o:/testdata: 0 files, 0 bytes
o:/testdata\CSV: 6 files, 2892479 bytes
o:/testdata\Face: 14 files, 5596317 bytes
o:/testdata\Movie: 25 files, 240422785 bytes
o:/testdata\Output: 29 files, 249827142 bytes

まとめ

Pythonは初心者にも親しみやすいプログラミング言語であり、豊富なライブラリと幅広い用途で利用されており、簡単な画面で済むような、軽量ツール作成には最適です。

本記事では、次の内容について解説しました。

  • Pythonのインストール方法
  • 開発ツールの選定
  • 必要なライブラリのインストール方法
  • 仮想環境の利用法
  • GUIの作成方法
  • 簡単なプログラミング例

Pythonを使ったDIYプログラミングは、C#よりも敷居が低く手軽に始められます。これを機に、是非チャレンジしてみてください。

あわせて読みたい
【DIY初学者】プログラミングを独学するなら自分で使えるツールを作ろう プログラミングを独学する際の最も効果的な方法の一つは、自分で使えるツールを作ることです。 市販のソフトウェアにはない、自分だけのニーズを満たすツールを自作する...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次