はじめに
Python パッケージは、さまざまなタスクのための専門的なツールやライブラリを提供することで、Python の機能を拡張します。これらのパッケージを効率的にインストールおよび管理することは、Python 開発者にとって不可欠なスキルです。
この実験 (Lab) では、Linux システムで標準的な Python パッケージインストーラーである pip の使用方法を学びます。環境のセットアップ、パッケージのインストール、依存関係の管理、さまざまなインストールオプションの探索を行います。これらのスキルは、Linux 環境で作業するすべての Python 開発者にとって基本的です。
Python 環境のセットアップ
このステップでは、パッケージ管理のためのクリーンな Python 環境を準備します。プロジェクトの依存関係を競合なく管理するために不可欠な仮想環境の使用方法を学びます。
Python と pip の確認
まず、Python と pip が利用可能であることを確認しましょう。
python3 --version
pip3 --version
Python 3.10.x および pip のバージョン情報が表示されるはずです。pip がインストールされていない場合は、インストールしてください。
sudo apt update
sudo apt install python3.10-venv -y
sudo apt upgrade python3-pip -y
仮想環境の作成
仮想環境は、プロジェクトごとに分離された Python スペースを作成します。これにより、異なるプロジェクト間のパッケージの競合を防ぐことができます。
cd ~/project
python3 -m venv myproject_env
source myproject_env/bin/activate
プロンプトに (myproject_env) と表示され、仮想環境内にいることが示されます。仮想環境内では、pip3 の代わりに pip を使用できます。
requirements ファイルの作成
プロジェクトの依存関係を追跡するために requirements.txt ファイルを作成します。
touch requirements.txt
このファイルは、異なるシステムで同じ環境を再作成するのに役立ちます。
Python パッケージのインストール
このステップでは、個別に、また requirements ファイルを使用して Python パッケージをインストールする方法を学びます。仮想環境内にいることを確認してください(プロンプトに (myproject_env) と表示されているはずです)。
最初のパッケージのインストール
HTTP リクエストを行うためによく使用される requests パッケージをインストールしてみましょう。
pip install requests
ダウンロードとインストールの進捗が表示されます。インストールを確認します。
pip list
インストール済みパッケージのリストに requests が表示されるはずです。
Requirements ファイルの使用
次に、requirements ファイルに正確なバージョンを指定して複数のパッケージを指定しましょう。ファイルを開きます。
nano requirements.txt
以下の内容を追加します。
requests==2.31.0
numpy==1.24.3
pandas==2.0.3
Ctrl+O、Enter で保存し、Ctrl+X で終了します。
このアプローチは、正確なパッケージバージョンを指定することで、異なるシステム間での環境の一貫性を保証します。
Requirements ファイルからのインストール
requirements ファイルからすべてのパッケージをインストールします。
pip install -r requirements.txt
requests は既にインストールされているため、pip はそのままにするか、指定されたバージョンに合わせて更新します。新しいパッケージ(numpy および pandas)は新規にインストールされます。
すべてのパッケージがインストールされていることを確認します。
pip list | grep -E "(requests|numpy|pandas)"
指定されたバージョンとともに、これら 3 つのパッケージすべてが表示されるはずです。
パッケージバージョンの管理
このステップでは、パッケージ情報の確認、パッケージの更新、特定のバージョンのインストールといった、不可欠なパッケージ管理操作を学びます。
パッケージ情報の表示
インストール済みのパッケージに関する詳細情報を確認します。
pip show requests
これにより、バージョン、依存関係、ライセンス、インストール場所の情報が表示されます。
特定バージョンのインストール
互換性のために異なるバージョンが必要になる場合があります。numpy の特定のバージョンをインストールします。
pip install numpy==1.23.5
バージョン変更を確認します。
pip show numpy | grep Version
バージョン 1.24.3 の代わりにバージョン 1.23.5 が表示されるはずです。
パッケージの更新
パッケージを最新バージョンに更新します。
pip install --upgrade pandas
これにより、pandas が利用可能な最新バージョンに更新されます。
環境のスナップショット(フリーズ)
現在のパッケージとバージョンの完全なリストを生成します。
pip freeze > current_env.txt
生成されたファイルを表示します。
cat current_env.txt
このファイルは、pip install -r current_env.txt を使用して、他の場所で全く同じ環境を再作成するために使用できます。
仮想環境と依存関係の操作
この最終ステップでは、仮想環境のベストプラクティスと、プロジェクトの依存関係を効果的に管理する方法を学びます。
非アクティブ化と再アクティブ化
仮想環境を非アクティブ化する練習をします。
deactivate
プロンプトが通常の状態に戻ります((myproject_env) が表示されなくなります)。pip list を実行してみてください。
pip list
システムにインストールされているパッケージのみが表示されます。次に、環境を再アクティブ化します。
source ~/project/myproject_env/bin/activate
再アクティブ化すると、プロジェクトのパッケージが戻ってくることに注意してください。
依存関係の理解
他のパッケージに依存しているパッケージを確認します。
pip show pandas
pandas の依存関係を確認するには、「Requires」行を見てください。これが環境管理が重要である理由です。1 つのパッケージをインストールすると、多くの場合、他の多くのパッケージもインストールされます。
クリーンアップとベストプラクティス
直接的な依存関係のみを含む、クリーンな requirements ファイルを作成します。
nano ~/project/requirements.txt
内容を、明示的に必要なパッケージのみ(依存関係は除く)に置き換えます。
requests==2.31.0
numpy==1.23.5
pandas==2.0.3
保存して終了します。他の誰かがこのファイルからインストールする場合、pip は自動的に依存関係を処理します。
環境の共有
これで、環境を共有する準備ができました。誰でも次を使用して再作成できます。
pip install -r requirements.txt
これは、再現可能な Python 開発の基盤です。
まとめ
この実験では、Linux 上での Python パッケージ管理の基本を習得しました。
- 環境セットアップ: プロジェクトの分離のために Python 仮想環境を作成・管理しました。
- パッケージのインストール: パッケージを個別に、また特定のバージョンを含む requirements ファイルを使用してインストールしました。
- バージョン管理: パッケージを更新し、特定のバージョンをインストールし、環境のスナップショットを生成しました。
- ベストプラクティス: クリーンな依存関係リストを維持し、再現可能な環境を共有する方法を学びました。
これらのスキルは、あらゆる Python 開発者にとって不可欠です。仮想環境はプロジェクト間の競合を防ぎ、適切な依存関係管理はコードが異なるシステムで一貫して動作することを保証します。
これで、あらゆる Linux 開発環境で自信を持って Python パッケージを管理できるようになりました!



