pythonのvenvを活用する

venvを使ってpythonの仮想環境を活用する方法をまとめる。

venvについて

venvはpythonの仮想環境を構築するモジュールの一つ。 pythonが公式で出している。

既にインストールされたpythonに依存した仮想環境を構築し、仮想環境ごとに独立のpythonモジュールの環境を作成できる。

仮想環境の作成

ここではpython3.10がすでにインストールされているとする。
まずvenvモジュールをインストールする。

sudo apt install python3.10-venv

venvは仮想環境ごとにフォルダを作成して管理される。
そのフォルダは任意の場所に作成可能なので指定して仮想環境を作成する。

python3.10 -m venv [仮想環境フォルダのパス]

仮想環境に入るには以下のようにする。

source [仮想環境フォルダのパス]/bin/activate

この後はpythonpipが仮想環境のものとして使える。

仮想環境から出るには以下のようにする。

deactivate

VSCode連携

venvはVSCodeと連携してVSCode上のインタプリタやTerminalにvenvのpythonを選択できる。

まず以下のようにして仮想環境があるパスを設定する。

  • VSCode画面でFile -> Preferences -> Settings
  • Python: Venv Pathの項目で[仮想環境フォルダがある一階層上のパス]を入力

そして以下のようにしてVSCodeと連携するpythonを選択する。

  • ctrl + shift + p -> Python: Select Interpreter -> ワーススペースレベルで選択
  • 該当の仮想環境がPythonバージョン('[仮想環境フォルダ名]':venv)と表示されるので選択

この後はインタプリタに仮想環境のpythonが使われ、Terminalも仮想環境に入った状態で立ち上がる。

引き継ぎ

venvは既にインストールされたpythonに依存しているので別のPCに移植する際は一から作成する必要がある。 ただ、pipは以下のようにしてrequirements.txtに書き出せるのでこれを別PCに移す形で移植する。

移植元PC

  • 仮想環境に入る
  • pip freeze > requirements.txt

移植先PC

  • 移植元と同じpythonで仮想環境を作成する
  • pip install -r requirements.txt