本記事はアフィリエイト広告(PR)を含みます
Pythonはライブラリへの依存度が高く、その依存度が実行環境に直結しているため環境の違いで動作しないといったことが頻繁に起こります。
そこでPythonで開発を行い場合は仮想環境を構築し、その中にライブラリをインストールするのが一般的です。
Pythonで仮想環境を構築するのに便利なのがAnacondaと呼ばれるツールなのですが、商用利用する場合や気軽に使いたい場合は不便なので今回はPython標準のvenvで仮想環境を構築し、Visual Studio Codeで使えるようにしていきます。
1. venvとは
venv(virtual environment)です。ブイ・エンブと読みます。
Pythonに標準で備わっている仮想環境を作るための仕組みです。
追加インストール不要で商用利用可能、Anacondaと比較して軽いというメリットがあります。
2. 仮想環境構築
まずはプロジェクトのルートディレクトリに移動します。

ここで現在インストールされているPythonのバージョンを確認しておきます。
py -0p

「python –version」だとPATHの先頭にあるバージョンしか表示されないので、Pythonが複数インストールされている場合は「python -0p」を使います。
次に以下のコマンドで仮想環境を作成します。
py -3.12 -m venv env
| コマンド・オプション | 解説 |
|---|---|
| py | Python Launcher for Windows Pythonバージョン指定ができるツール ※pythonコマンドよりpyコマンド推奨 |
| -3.12 | Pythonバージョン -3.12 → Python 3.12 任意のバージョンを指定 |
| -m | モジュール実行オプション |
| venv | モジュール名(venv) |
| env | 仮想環境のフォルダ名(任意のフォルダ名をつける) |
これでenv_testフォルダ内に「env」フォルダが作成されました。

2.1. 仮想環境の有効化
次に以下のコマンドで仮想環境を有効化します。
env\Scripts\activate
パスの最初に(env)がつけば成功です。

念のためPythonバージョンを確認しておきます。

2.2. pipの更新
pipはPythonの外部ライブラリを管理するためのツールで、ライブラリのインストールや依存関係の管理が可能です。
pipが古いと依存関係でエラーが出る可能性があるので念のため更新しておきましょう。
python -m pip install --upgrade pip

2.3. ライブラリインストール
今回は動作確認のためのライブラリをインストールします。
pip install numpy requests
| ライブラリ | 解説 |
|---|---|
| numpy | 数値計算を高速に行うためのライブラリ ・配列・行列の計算 ・数値データの高速処理 ・統計・線形代数の基礎処理 など |
| requests | HTTP通信(Webアクセス)を簡単に行うためのライブラリ ・WebページやAPIへのアクセス ・データの取得・送信(GET / POST) ・REST API の利用 など |

2.4. requirements.txtを作成
requirements.txtはPythonのバージョン依存関係を保存しておくためのファイルです。
作成は任意ですが、このファイルを作成しておくことで、仮想環境を復元することができます。
pip freeze > requirements.txt
pip freezeはインストール済みのライブラリとそのバージョンを列挙するコマンド。
それを「requirements.txt」に保存します。


このファイルを使って環境を復元する場合は以下のコマンドを実行します。
pip install -r requirements.txt
「-r」はファイルを読み込むためのオプションで、「requirements.txt」に記載されているライブラリをまとめてインストールできます。
なお、requirements.txtは自動更新されないので手動で更新する必要があります。
2.5. Pythonの実行
ここで、Pythonが実行できるか確認しておきます。
「python」と入力して実行するとインタラクティブモードに入るのでPythonコードの入力・実行ができる状態になります。
ここで以下のコードを入力してみます。
import numpy
print("OK")

エラーが出ず、「OK」と表示されれば成功です。
インタラクティブモードから抜けるときは「exit()」と入力してEnterを押すか、「Ctrl+Z」を押します。

2.5. 仮想環境の無効化
仮想環境から抜けるときは以下のコマンドを実行します。
deactivate
ここで、「pip freeze」を実行して本環境にライブラリがインストールされていないことを確認してみます。

3. Visual Studio Codoの設定
次に、Visual Studio Code(VSCode)でvenvで作成した仮想環境が使えるように設定していきます。
※ VSCodeのインストールはこちら
2章で作成した仮想環境があるフォルダにPythonファイルを作成します。
今回は「venv_test.py」を作成しました。

次に、「Ctrl+Shift+P」を押してコマンドパレットを開き、「Python: Select Interpreter」を選択します。

すると、Pythonが複数表示されるので、「env」と表示されているほうを選択します。
※ グローバルはもともとインストールされているPython。
3.1. Power Shellのセキュリティエラー(Activate.ps1)
ターミナルを開くと以下のようなエラーが表示されてしまいました。

PowerShellの設定がスクリプト禁止になっていたようなので以下のコマンドを実行してターミナルを再起動します。
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
このコマンドは現在のユーザーのみ、ローカルで作成したスクリプトを許可するコマンドです。
ターミナルを起動してこのように表示されれば成功です。

4. 動作確認
最後に以下のコードを実行して動作確認を行います。
import numpy as np
import requests
def numpy_test():
a = np.array([1, 2, 3])
b = a * 2
print("numpy OK:", b)
def requests_test():
r = requests.get("https://shimons-labo.com", timeout=5)
print("requests OK:", r.status_code)
if __name__ == "__main__":
numpy_test()
requests_test()
実行結果はこちら。

仮想環境にインストールしたnumpyとrequestsが正しく動作していることが確認できました。
今回は以上です。

-160x90.jpg)

-120x68.jpg)

コメント