Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Python

Pythonのvenvの使い方(基礎編)をご紹介

投稿日:2022年6月12日 更新日:

 

<目次>

(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)

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Python

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

PythonでSQLAlchemyを使ってOracleDBに接続する際に遭遇したエラーとその対処方法

本記事は次の記事の続編です。 (下記記事の手順を実行する際に遭遇したエラーについての備忘録) PythonでSQLAlchemyを使ってOracleDBに接続する方法 (0) 目次 (4) エラー対応 …

PythonのdatapackageとSQLAlchemy、SQLiteを使ってcsvデータをSELECTする

(0)目次&概説 (1) 今回の目的  (1-1) 目的  (1-2) 前提条件 (2) 実施手順  (2-0) 事前作業  (2-1) データ(csv)のロード  (2-2) エンジンの作成  (2 …

PythonのTkinterでテキストボックスの値を取得する方法

<目次> (1) PythonのTkinterでテキストボックスの値を取得する方法  (1-1) 構文  (1-2) キャンバスの設定  (1-3) 入力ボックスの追加  (1-4) ボタン押下時の処 …

Pythonで「ERROR: Could not install packages due to an OSError: [WinError 2]」が出た時の原因と対処方法について

  <目次> (1) Pythonで「ERROR: Could not install packages due to an OSError: [WinError 2]」が出た時の原因と対処 …

Pythonのconfigparesrで書き込みや書き換え等の基本的な使い方をご紹介

<目次> (1) Pythonのconfigparesrで書き込みや書き換え等の基本的な使い方をご紹介  (1-1) ConfigParserクラスについて  (1-2) サンプルプログラム  (1- …

  • English (United States)
  • 日本語
Top