Pythonのプログラムを仮想環境下で動かす際に使用される、Python仮想パッケージ群と、または、それを保存するフォルダ名のこと。
#br


#contents
*Pythonの仮想環境全般を指す「venv」 [#y2035ee0]
**概要 [#yd8c2917]
-一般的に正しい表現かは不明だが、当wikiでは仮想環境下で動かすことを「venvで〇〇する」と呼ぶことがある。
venv=仮想環境を指している。
-Pythonプログラムを実行するにあたって、必要なライブラリやそのバージョンの要件は、使用するプログラムによって異なる。よって、各プログラムに適したライブラリを「venv」フォルダに格納し、実行時にそれらを参照することで、各プログラムごとのPython環境を分離できる。
-たとえば、
--Python実行環境で最新Ver.のパッケージ(Pythonとそのライブラリ)をインストールしている状態で、古いVer.のパッケージを要求するプログラムを動かしたい場合は、そのプログラムに合わせたライブラリをPython実行環境とは別に構築する必要がある。
--実際、Stable diffusion web UIやsd-scriptsといったプログラムにおいても、仮想環境下で動かすことになる。

*Python用のライブラリを保管するフォルダ名「venv」 [#jcfe8407]
**概要 [#hd01bdfc]
venvフォルダは、メインプログラムのフォルダ内に生成される、または作成することが多い。

-フォルダ構成例
#pre{{
(メインプログラムのフォルダ)
├〇〇.py
├ doc
└venv
 ├ Scripts
 │ └ (仮想環境を有効にするアプリ)
 └ Lib
  └ site-packages
    └  (各種ライブラリ)
}}


*よく使う用例 [#e0ac1d41]
**venvフォルダを作成する。 [#f5ed8f78]
#shadowheader(3,通常)
 python -m venv venv
 ※2つめの「venv」がフォルダ名になる。

#shadowheader(3,Pythonバージョンが複数ある場合)
Pythonが複数バージョンインストールされている場合は、意図しないどれか1つのバージョンが選ばれ導入されてしまう。
もし、アプリが要求する特定のPythonバージョンがある場合は、venv作成時にそのバージョンを指定する必要がある。
-例えば、Python 3.10、3.14がインストールされている場合における、3.10でvenv環境を作成するときは、
 py -3.10 -m venv venv
-ここで「python -m venv venv」をすると3.14がインストールされる場合があり、アプリが動かせなくなる。

**venvを有効化する。venv仮想環境下に切り替える [#l3e6e8a9]
…とwikiに書かれている場合、対象プログラムのあるフォルダ内で、下記のコマンドをターミナル((OSによって名称が異なる))入力します。
 ./venv/Scripts/activate
を実行することでグローバルなPythonライブラリではなく、venvフォルダのPythonライブラリを参照することができる。

ただし、フォルダ構成やOSにより、コマンド内容は変わります。
 .¥venv¥Scripts¥activate
 .\venv\Scripts\activate
 venv/Scripts/activate
 .venv\Scripts\activate ※venvフォルダ名を「.venv」(隠しフォルダ)で作った場合

**ライブラリを再インストールする方法 [#g192a625]
#shadowheader(3,「venv」フォルダを削除する)
フォルダごと削除すれば、アンインストールは完了です。
#shadowheader(3, 再インストールを行う)
各プログラムのGitHubで紹介された方法に従って再インストールしてください。
下記は参考。
(1)stable diffusion web UIの場合
「webui-user.bat」を実行することで、不足するライブラリがvenvへ自動インストールされます。
インストールされるプログラムは「requirements.txt」に基づきます。
(2)sd-scriptsの場合
アップグレードの行程と同じです。
 cd sd-scripts
 git pull
 .\venv\Scripts\activate
 pip install --use-pep517 --upgrade -r requirements.txt
その結果、「requirements.txt」に記載のライブラリがインストールされます。


*関連ページ [#jace484e]
-[[よくある質問]]→「venv」で検索すると、関連する情報が出てきます。