<目次>
(1) Pythonのvenvの使い方(基礎編)をご紹介
(1-1) venvとは?
(1-2) STEP1:仮想環境(venv)の作成
(1-3) STEP2:仮想環境(venv)の有効化
(1-4) STEP3:仮想環境(venv)をVisual Studio Codeで使用する
(1-5) こんなエラーが出た時は・・
(1) Pythonのvenvの使い方(基礎編)をご紹介
本記事ではvenvの使用を検討している方に向けて、基本的な操作方法についてご紹介します。
(1-1) venvとは?
「venv」はPython3.3より同梱された軽量の仮想環境を作るための機能です。Python3.6までは「pyvenv」が「venv」のラッパーとして含まれていたが、非推奨となりPython3.8からは完全に除外されました。
「venv」を使うことで特定のプロジェクト、特定のディレクトリに対して、ライブラリ等のモジュールを導入して軽量の環境を構築する事が出来ます。コマンドを実行すると「.venv」というディレクトリが作成され、そこに導入するライブラリが格納されていきます。
「pyenv」がPythonを「バージョン軸」で管理しているのに対して、「venv」は「環境軸」での管理となります。言い換えると「pyenv」はシェルセッションやディレクトリ単位等で適用バージョンを制御できるのに対し、「venv」ではパッケージ等の資源を含めた「環境」を完全に分ける事が出来るという違いになります。
(図100)
(1-2) STEP1:仮想環境(venv)の作成
環境を作りたいフォルダに移動して下記コマンドを実行します。
(コマンド)
python -m venv .venv
(図111①)
↓
(図111②)
↓
(補足)「.venv」→「Scrpits」配下のファイルについて
・「Activate.ps1」→当該Powershellセッションにおいて、仮想環境を有効化する
・「python.exe」→仮想環境が有効化されている時に、コマンド実行するために使用
・「pip.exe」→仮想環境が有効化されている時に、パッケージインストールするために使用
(図111③)
(1-3) STEP2:仮想環境(venv)の有効化
(コマンド)
.\.venv\Scripts\activate
↓
(図121①)
↓
・成功すると「(.venv)」と緑色の文字で表示されます
(図121②)
↓
・確認のため、pipコマンドの実行ファイルの場所を確認します。
(図122①)
↓
・先ほど作成された「.venv\\Scripts」配下にある事が確認できました。
(図122②)
(1-4) STEP3:仮想環境(venv)をVisual Studio Codeで使用する
実際の開発はVS Code等のツールを使うと思いますが、VS Codeにおいてvenvを使う方法についてもご紹介します。特に何もしていないと、Visual Studio Codeはどのバージョンのインタープリタを使用すべきか?が分からないので、明示的に指定する必要があります。以降がその設定になります。
・①「Ctrl」+「Shift」+「p」でコマンドパレットを開きます。
(図131①)
↓
・②「settings.json」と入力し「Open Workspace Settings (JSON)」を選択します。
(図131②)
↓
・③下記のコードを入力して保存します。
(コード)
{
"python.terminal.activateEnvironment":true
}
(図131③)
↓
・④Visual Studio Codeを閉じて再度開くと、venvのインタープリタが選択されています。
→右下に「Python 3.8.10 (‘.venv’:venv)」と表示されている事を確認
(図131④)
(1-5) こんなエラーが出た時は・・
●エラー
& : 用語 'C:/Users/XXXXX/AppData/Local/Programs/Python/Python39/python.exe' は、コマンドレット、関数、スクリプト ファイル、
または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正し
いことを確認してから、再試行してください。
発生場所 行:1 文字:3
+ & "C:/Users/XXXXXXXX/AppData/Local/Programs/Python/Python39/pyt ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:/Users/Tatsuy...on39/python.exe:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
●原因
恐らくPython(やconda)の環境変数の設定誤り or Python(やconda)のVSCodeのパス設定誤りの可能性があります。
●対策
上記の設定を確認する or 取り急ぎはvenv内のインタープリタを明示的に指定すれば実行も可能です↓
(構文)
& [venvのパス]/.venv/Scripts/python.exe [venvのパス]\[モジュール名].py
(例1)絶対パス指定
& c:/dev/Python/00_LocalPythonApp/Sample_JsonParse/.venv/Scripts/python.exe C:\dev\Python\00_LocalPythonApp\Sample_JsonParse\__init__.py
(例2)相対パス指定(オススメ)
⇒「c:/dev/Python/00_LocalPythonApp/Sample_JsonParse」に居る状態で、以降の部分のみを指定
.\.venv\Scripts\python.exe .\ __init__.py
(図132)
>目次にもどる
[…] Pythonのvenvの使い方(基礎編)をご紹介 – Rainbow Engine […]