Pythonの仮想環境を画像つきで解説【初心者向け】

Featured image of the post

概要

仮想環境とは、OSから独立した環境のこと。

1プロジェクト = 1仮想環境 を用意する。

イメージ
Image in a image block

  • OSの中に独立した仮想環境を作る。
  • 仮想環境は独立しているため、OSにあるライブラリや別の仮想環境のライブラリにアクセスできない。

メリット
  • プロジェクトで独立した環境になるので、複数プロジェクト作成しても干渉しない。

    →別プロジェクトのライブラリから影響を受けない。

    →プロジェクトごとにライブラリのバージョンを選択できる。

  • 仮想環境 = フォルダ なので直感的に扱える。

    →仮想環境が不要になればフォルダを削除するだけ!

💡
プロジェクトを作るときは、とりあえず仮想環境を1つ作ればOK

デメリット
  • 仮想環境ごとにライブラリをインストールする必要がある。

    →容量の消費が増える。

💡
よほどプロジェクトを作らない限りは気にしなくても大丈夫!

仮想環境の作り方

前提

仮想環境の作り方は色々あるが、今回はメジャーなvenvを使う方法を解説する。

💡
コマンドプロンプトやターミナルで操作していく!

仮想環境を作りたいフォルダに移動する

まずはcdで仮想環境作りたいフォルダに移動する✅

cd 仮想環境を作りたいフォルダのパス

cd /Users/testuser/hoge

仮想環境を作成する

venvで仮想環境を作る✅

python -m venv 任意の仮想環境の名前

python -m venv test_env

💡
これで仮想環境ができた!

仮想環境を使う

仮想環境の中に入る

仮想環境を使うにはsourceで中に入る必要がある✅

Macの場合
source 仮想環境にあるactivateファイルのパス

source test_env/bin/activate


仮想環境の中でコマンドを実行するなら以下のようにcdコマンドで移動しておく。

cd test_env

Windowsの場合
仮想環境にあるactivateファイルのパス

test_env/bin/activate


仮想環境の中でコマンドを実行するなら以下のようにcdコマンドで移動しておく。

cd test_env

Image in a image block

💡
コマンドプロンプトやターミナルの先頭に(test_env)のような仮想環境名が付いていれば成功!

Pythonのバージョンを確認してみる

これで仮想環境でPythonが使える状態になっているので、python --versionを実行してみる。

(test_env) $ python --version

💡
バージョンが表示されれば成功!
あとはライブラリをインストールするなど自由に開発を進めればOK!

仮想環境の外に出る

コマンドプロンプトやターミナルで、仮想環境の外に戻りたい場合はdeactivateを使う。

deactivate

仮想環境を削除する

仮想環境が不要になった場合は、普通にフォルダを削除するだけでOK!

補足

パッケージ管理

他のPCでも同じパッケージをインストールしたい場合は以下のようにして対応できる。

パッケージのリストを出力する

pip freeze > ./requirements.txt
💡
requirements.txtを他のPCに送ってあげる

パッケージをまとめてインストール(他のPCで実行する)

pip install -r ./requirements.txt

参考:https://zenn.dev/mook_jp/articles/6815e6806b516f

注意

VSCodeでデバッグできない場合の対処法

launch.json"justMyCode"falseにするといい。

{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "justMyCode": false
        }
    ]
}

参考:https://manichannel.com/python-vs-code-venv/

参考サイト