【VisualStudioCode】Pythonの仮想環境作成でプロジェクトごとにパッケージ管理

Python

ad2

【VisualStudioCode】Pythonの仮想環境作成でプロジェクトごとにパッケージ管理

準備するソフトウェア

  • VisualStudioCode
  • Python

VisualStudioCode

まずは、VisualStudioCodeをインストールしておきます。

サイトの今すぐダウンロードからダウンロードします。

visualstudiocode_0001 visualstudiocode_0002

Windows、Linux、macOSで別れてるので、それぞれでダウンロードして下さい。

インストーラーをダウンロードしたら、exeファイルを起動してインストーラーに従ってインストールして下さい。

Python

次に、Pythonをインストールします。

サイトからダウンロードします。

python-download0001

インストーラーをダウンロードしたらexeファイルを起動してインストールしてください。

これで下準備は完了です。

Python仮想環境

Python での開発時は、専用の実行環境を作成し、切り替えて使用する実行環境を、「仮想環境」 と言います。

次の開発環境を実現したい場合に仮想環境を作成しておくと開発効率が捗ります。

  • モジュールの追加・入れ替えをしたい。
  • 異なるバージョンの Python を使いわけたり、同じモジュールの、複数のバージョンを使い分けたい。

 

仮想環境を作成

仮想環境を作成するには、コマンドプロンプトかPowerShellで仮想環境構築したいフォルダのディレクトリまでcdコマンドで移動して次のコマンドを使用します。

C:\work> mkdir sample

これで、sampleフォルダが作成されます。

このフォルダ内にsample_py.pyを作成しておきます。

pyファイル内容

import requests
print(requests.get("https://www.python.jp").text)

requestsモジュールがインストールされていない状態でpyファイルを実行すると、次のエラーが出ます。

Traceback (most recent call last):
File “C:\work\sample\sample_py.py”, line 1, in <module>
import requests
ModuleNotFoundError: No module named ‘requests’

ここで、(.venv)は環境フォルダーの名前(任意)を入れます。

# macOS/Linux
# You may need to run sudo apt-get install python3-venv first
python3 -m venv .venv

# Windows
# You can also use py -3 -m venv .venv
python -m venv .venv

# ex) Python3.9のバージョンを使用したい場合
# py -3.9 -m venv .venv

実行すると、仮想環境のフォルダが作成されます。

今回の例では、sampleフォルダを指定してここに.venvの仮想環境を作成します。

作成前のフォルダ内

python_sample_folder

コマンドを叩きます。

PS C:\work\sample> python -m venv .venv

.venvフォルダが作成されない場合は、Pythonが環境変数設定されてないです。python.exeを環境変数に追加してみて下さい。

それか、python.exeパスを絶対参照してコマンドを叩けば、いけます。

PS C:\work\sample> C:\Users\abc\AppData\Local\Programs\Python\Python39\python.exe -m venv .venv

作成後のフォルダ内

python_sample_folder_after

.venvフォルダの作成完了です。

仮想環境のディレクトリ名は .venv 以外でも、任意の名前をつけても大丈夫です。

 

Activate

コマンドプロンプトの場合は、作成した仮想環境 .venv ディレクトリにある Scripts\activate.bat を実行します。

 c:\work\sample\.venv\Scripts>activate.bat
cmd_venv_exective

先頭に(.venv)と仮想環境名が付いてれば仮想環境で実行中です。

PowerShellの場合は、作成した仮想環境 .venv ディレクトリにある Scripts\activate.ps1 を実行します。

PS C:\work\sample\.venv\Scripts> .\Activate.ps1
powershell_venv_exective

先頭に(.venv)と仮想環境名が付いてれば仮想環境で実行中です。

これで、pipコマンドで使用したいモジュールをインストールしていけば、仮想環境構築完了です。

※powershellでコマンド実行するとき、スクリプトの実行を許可しておきます。

# セキュリティポリシー設定を変更します。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

 

パッケージインストール

pipでrequestsモジュールをインストールしてみます。

(.venv) PS C:\work\sample\.venv\Scripts> pip install requests

Successfully installedが出れば、インストール完了です。

 

pyファイルの実行

sample_py.pyを実行してみます。

(.venv) PS C:\work\sample> python sample_py.py

“https://www.python.jp”のHTMLコードがずらーっと出てくれば、実行成功です。

仮想環境のコピー

他PCでも開発したり、複数人のチームで開発したりする場合、どこでも同じ仮想環境を使うようにしたいです。

そんなときは、仮想環境にインストールされているパッケージの一覧リストを作成して、それを共有するようにすると便利です。

次のコマンドでパッケージリストを作成します。

(.venv) PS C:\work\sample> python -m pip freeze > packagelist.txt

packagelist.txt(ファイル名は任意)をGitなどで一元管理して共有すればOK。

次のコマンドで一括で仮想環境にパッケージをインストールできます。

(.venv) PS C:\work\sample> python -m pip install -r packagelist.txt

 

仮想環境終了

仮想環境を終了させたいときは、deactivateで終了できます。

(.venv) PS C:\work\sample> deactivate
powershell_venv_deactivate

 

VSCodeでPython仮想環境設定setting.json

ワークスペースフォルダを作成しておく。

ws_vscode_sample0

今回は、sample_wsというワークスペース名のフォルダを作成してその中に先ほどのsample_py.pyファイルを入れました。

VSCodeを起動する。ファイルメニューからファイルを開くを選択してsample_py.pyファイルを開く。

ファイルメニューの名前を付けてワークスペースを保存を選択し、作成しておいたワークスペースフォルダ内に保存する。

sample_wsのフォルダ階層は下記の図のようになる。

ws_vscode_sample1

.vscodeフォルダが無い場合、作成してその中にsetting.jsonファイルを作成する。

setting.jsonファイルの内容には下記の様に書き込み保存する。

setting_json_pypath
{
    # Python.exeファイルのパスを指定する
    "python.pythonPath": "C:/work/sample/.venv/Scripts/python.exe" 
}

設定反映する為、VSCodeは再起動しておいたほうがいい。

VSCode_py_ver_select

VSCode_py_ver_select

sample_py.pyを開いたら、実行(F5)すると、仮想環境のpythonバージョンで実行される。

この場合、setting.jsonで設定しておいた

“C:\work\sample/.venv/Scripts/python.exe”のpythonが起動される。

以下が、sample_py.pyファイルをデバッグ開始(F5)実行した結果です。

VSCode_py_samplepy_f5

ワークスペースのPython仮想環境でpyファイルが実行されました。

 

まだまだ、Python初心者なので、詳細な説明が出来てないかもしれません。

よくわからないって方は、他の人のブログなりを参照して下さいm(__)m

参考ページ:Python Japan仮想環境