python-venv: 仮想環境を構築してクリーンな開発環境を構築【ubuntu 24.04】

python

python-vnevとは

pythonでチーム開発していると開発者によってローカル環境の差異により、以下のような問題が発生します。

  • インストールしているpythonのバージョンが異なる
  • ローカル環境にインストールしているパッケージのバージョンが異なりエラーが発生

python-venvで各開発者のローカル環境に差異のない仮想環境(ベースと隔離されたpythonバージョン・モジュールのインストール先)を作成することで、クリーンな開発環境の構築を実現できます。

python-venv 仮想環境作成 → 実行 → 後片づけ【ubuntu 24.04】

こちらのgithubリポジトリで簡易的な検証ソースを作成しました。検証ソースを使用して以下の流れで解説します。

  • 仮想環境作成
  • 仮想環境のactivate
  • 仮想環境にdotenv(.envファイルから環境変数読み込むモジュール)をインストール
  • main.pyを実行し、dotenvで読み込んだ環境変数をコンソール出力
  • 後片づけ

インストール済pythonバージョン確認

atoraku@ubuntu:~/blog1/python-venv$ python --version
Python 3.12.3
  1. 仮想環境を作成したいディレクトリに移動
    • $ cd blog1/python-venv
  2. python-venv3.12をインストール ※3.12の部分は仮想環境で実行したいpythonのバージョンを指定してください。
    • $ sudo apt install python3.12-venv
  3. 仮想環境作成コマンド実行
    • $ python3.12 -m venv .venv
      • ※ 上記コマンドの「.venv」の部分が仮想環境を保存するディレクトリとして作成されます。
      • ディレクトリ名は任意の名前を付けることができますが、gitのコミット対象から外すため「.gitignore」ファイルにフォルダ名を追記しやすいよう当ブログでは「.venv」固定としています。
  4. 仮想環境の活性化(activate)
    • $ source .venv/bin/activate
      • 仮想環境をactivateするとコマンドラインの先頭に仮想環境名がつくようになります。
  5. プロジェクトで使用するpythonモジュールを列挙した「requirement.txt」を作成
    • requirement.txtファイルを作成してプロジェクトでimprotするモジュールを列挙します。
    • バージョン指定をしない場合はコマンド実行時の最新バージョンを取得します。バージョン差異によるエラーを防ぐため、全てのモジュールのバージョン指定をおすすめします。
      • 例:python-dotenv==1.0.1
  6. pythonモジュールのインストール
    • $ pip install -r requirements.txt
    • $ pip listを実行してインストールされていることを確認します。
  7. 動作検証
    • 検証コードはこちら。仮想環境にimportしたdotenvの動作確認をします。「.test.env」ファイルに設定された環境変数「TEST_ENV」の値が空文字列であれば「”TEST_ENV is empty”」を出力します。空文字列以外であれば設定値を出力します。
    • 実行結果 「TEST_ENV=”SUCCESS”」
    • 実行結果 「TEST_ENV=””」
    • 仮想環境でモジュールのimport・実行に成功していることを確認しました。
  8. 仮想環境の非活性化(deactivate)
    • $ deactivate
  9. 仮想環境の削除
    • $ rm -rf .venv

以上で仮想環境作成 → 実行 → 後片づけの流れは終了です。お疲れ様でした。

異なるバージョンで仮想環境を作成する方法

ローカルにインストールされているバージョンと異なるバージョンで仮想環境を作成する方法を説明します。今回はpython 3.11の仮想環境を作成します。

インストール済pythonバージョン確認

atoraku@ubuntu:~/blog1/python-venv$ python --version
Python 3.12.3
  1. python3.11のインストール
    • $ sudo add-apt-repository ppa:deadsnakes/ppa
    • $ sudo apt update
    • $ sudo apt install python3.11
  2. python-venv3.11をインストール
    • $ sudo apt install python3.11-venv
  3. 仮想環境作成コマンド実行
    • $ python3.11 -m venv .venv
  4. 仮想環境の活性化(activate)
    • $ source .venv/bin/activate

以降の手順は前セクションと同一になりますので省略します。

まとめ

この記事ではpython-venvの解説・インストール・使用方法について説明しました。いかがでしょうか?是非みなさまのお役に立てば幸いです。

タイトルとURLをコピーしました