🚀

【Python】インタープリタとvenvが何者かを理解した

2024/11/18に公開

Pythonの学習時にインタープリタとvenvが登場したが、これらが何者なのか分かっていなかったので、調べてまとめます。

インタープリタとは

「人間が書いたソースコードを1行ずつ機械語に変換して実行してくれるプログラム」です。
Pythonのコードは、人間が理解できるように書かれていますが、コンピューターが理解するためにはPythonのコードを実行可能な形式に変換する必要があるので、インタープリタがこの役割を担います。

venvとは

「Python 3.3以降に標準ライブラリとして提供されているモジュールで、仮想環境を作成するためのツール」です。
以下のコマンドを実行することにより、対象ディレクトリ配下に仮想環境を作成、アクティベートできます。

  • 仮想環境を作成
python -m venv [仮想環境名]
  • 仮想環境をアクティベート

(Mac)

source [仮想環境名]/bin/activate

(Windows)

[仮想環境名]\Scripts\activate

仮想環境ごとにPythonやインストールするライブラリのバージョンを変えることができます。

なぜvenvが必要なのか?

Pythonでは、ライブラリのバージョンや依存関係を適切に管理することで、他のPJに影響を与えないようにする必要があるからです。
仮想環境が1つしかない場合、「今からインストールしたいライブラリAのバージョンだと、別のPJで利用しているライブラリBと衝突してしまうので、Aをインストールできない」、「インストールしようとしているライブラリCは現在利用しているPythonのバージョンに対応していない」ということが起こる可能性があります。
そのため、PJごとに仮想環境を分けることで、上記問題を解決します。

ディレクトリごとに仮想環境を分けることが可能

仮想環境はディレクトリごとに分けることができます。
(例)

上記の例では、test_1ディレクトリがあり、その配下にtest_2ディレクトリがあります。
test_1はvenv_1、test_2はvenv_2を持ち、それぞれ独立した仮想環境を作成することができます。

以上です。

Discussion