🛠️

Python Venvメモ (Linux上)

2024/12/09に公開

Windows上はこちら

https://zenn.dev/shimazu_aon/articles/f1a4cdc6a47caf

Venvとは

・pip (Pythonのパッケージ・ライブラリ管理システム)をプロジェクトごとに仮想環境として独立して管理できる
・メリットとして依存性の解決がしやすくなる

・venvは「virtualenv」がPython 3.3より標準機能となったもの
・別途ソフトウェアをインストールせずに使用できる

ドキュメント

venv --- 仮想環境の作成 — Pythonドキュメント
https://docs.python.org/ja/3/library/venv.html

環境

Ubuntu 22.04 LTS - Python 3.11.9
WSL Ubuntu 20.04 LTS (Windows11) - Python 3.8.10

仮想環境の作成方法

本記事では以下の通りとする
ディレクトリパス: ~/test
venv名: test_venv

  1. ターミナルでフォルダへ移動

    ターミナルを開き、仮想環境にしたいディレクトリ(フォルダ)へ移動して仮想環境を作成する

    $ cd ~/test
    
  2. 仮想環境を作成

    ~/test$ python3 -m venv test_venv
    
  3. フォルダの確認

    コマンドの実行後、フォルダtest_venvが生成されることを確認
    (以下より..で表示を一部省略)

    ~/test$ ls
    
    test_venv
    
  4. 仮想環境の構成確認

    フォルダtest_venv内には以下が含まれる

    ~/test$ cd test_venv
    ~/test/test_venv$ ls
    
    bin  include  lib  lib64  pyvenv.cfg  share
    

仮想環境のアクティベート

作成しただけでは仮想環境へは入れていない
以下のコマンドで作成した仮想環境へ入る

仮想環境がアクティブ化されると、左側に仮想環境名 (test_venv) が表示される

~/test/test_venv$ cd ..
~/test$ source test_venv/bin/activate
(test_venv) ~/test$

仮想環境のディアクティベート

仮想環境から抜ける場合は以下のコマンドを実行する。

(test_venv)~/test$ deactivate
~/test$

仮想環境内でのパッケージ管理

仮想環境へ入る

~/test$ source test_venv/bin/activate
(test_venv)~/test$

仮想環境に現在インストールされているモジュールを確認
(初期段階ではpipとpkg-resources、setuptools のみ)

(test_venv)~/test$ pip3 list

Package       Version
------------- -------
pip           20.0.2
pkg-resources 0.0.0
setuptools    44.0.0

必要なモジュールをpipでインストール (例:opencv (拡張モジュール群入り) )

(test_venv)~/test$ pip3 install opencv-contrib-python

インストールされたものを確認 (依存関係に基づいてモジュールがインストール)

(test_venv)~/test$ pip3 list

Package               Version
--------------------- ---------
numpy                 1.24.4
opencv-contrib-python 4.10.0.84
pip                   20.0.2
pkg-resources         0.0.0
setuptools            44.0.0

仮想環境を抜けて仮想環境内でインストールが完結しているか確認

(test_venv)~/test$ deactivate
~/test$ pip3 list
#別の結果が出てくる

Discussion