0.前回の記事
1. 使用したライブラリ
本記事では、以下の 外部ライブラリ を使用しています。
- OpenCV-Python
- Pillow
- PyTorch
また、以下の 標準ライブラリ も併用しています。
- tkinter
- os
- datetime
- threading
- shutil
2. パッケージの更新
この操作は、Linux関連の記事で必ずといっていいほど登場するコマンドです。
自分自身も、何度も目にしてきました。
しかし、実際にこのコマンドが どんな処理をしているのか を理解している人は意外と少ないのではないでしょうか。
そこで本記事では、簡単にその仕組みを解説していきます。
sudo apt update
sudo apt upgrade
上記は「パッケージの更新」を行うための基本コマンドです。
今後の操作を行う前に、まずは必ず実行しておきましょう。
2.1 パッケージ更新とは
sudo apt update
このコマンドは「パッケージ情報の一覧を最新に更新する」ものです。
Linuxでは、ソフトウェアを「リポジトリ(repository)」と呼ばれるサーバーで管理しています。
そのため、最新のソフトウェアやバージョン情報を取得しておく必要があります。
sudo apt update を実行すると、以下のような最新情報を取得してローカルに反映します。
- どんなソフトウェアがインストール可能か
- どのバージョンが最新か
たとえるなら、「お店のカタログを最新版に取り替える」ようなイメージです。
sudo apt upgrade
このコマンドは「インストール済みのソフトウェアを最新バージョンに更新する」ものです。
先ほど apt update で取得した最新情報をもとに、システム内のソフトをアップグレードします。
更新内容には、以下のようなものが含まれます。
- セキュリティパッチの適用
- 新機能の追加
- 不具合修正
たとえるなら、「カタログを見て、手持ちの商品を最新版に交換する」イメージです。
2.2 まとめ
| コマンド | 目的 | 例えると |
|---|---|---|
sudo apt update |
パッケージ情報を最新にする | 最新のカタログをもらう |
sudo apt upgrade |
実際にソフトを最新版にする | 手持ちのソフトを更新する |
この2つのコマンドは、Linuxの環境構築を始めるときの 「最初の一歩」 です。
トラブルを避けるためにも、作業を始める前に update と upgrade を実行しておきましょう。
3. ライブラリのインストール
パッケージを最新化したら、次は本記事で使用するライブラリをインストールします。
今回は、AI画像認識やGUI表示を行うために以下のライブラリを使用します。
3.1 pip のアップグレード
まずは、Pythonのパッケージ管理ツール「pip」を最新バージョンに更新します。
古い pip のままだと依存関係の解決に失敗することがあるため、最初に実行しておくのがおすすめです。
pip install --upgrade pip
3.2 OpenCV のインストール
画像処理を行うためのライブラリ OpenCV をインストールします。
pip install opencv-python
このライブラリを利用することで、画像の読み込み・表示・加工などが簡単に行えます。
3.3 GUI表示に必要な tkinter のインストール
画像をウィンドウ上に表示したり、ボタン操作を受け付けたりするために tkinter を使用します。
これはPythonの標準ライブラリですが、環境によっては別途インストールが必要です。僕の場合は必要だったので記載しています。
sudo apt-get install python3-tk
3.5 PyTorch のインストール
最後に、AI処理の中心となる PyTorch をインストールします。
画像分類やディープラーニングのモデル構築に使用します。
pip3 install torch torchvision torchaudio
-
torch:PyTorch本体 -
torchvision:画像データ用ユーティリティ(データセット・変換など) -
torchaudio:音声処理関連(今回は主に依存関係の解決に利用)
3.6 まとめ
ここまでの流れをまとめると、次の順番でインストールを行いました。
pip install --upgrade pip
pip3 install opencv-python
sudo apt-get install python3-tk
pip3 install torch torchvision torchaudio
これで、画像認識やGUI表示に必要な環境がすべて整いました。
次章では、実際にこれらのライブラリを使ってプログラムを動かしていきます。
ちょっと投稿が遅れます...