venv

Last-modified: 2023-09-23 (土) 20:25:13

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

 

Pythonの仮想環境全般を指す「venv」

概要

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

Python用のライブラリを保管するフォルダ名「venv」

概要

venvフォルダは、メインプログラムのフォルダ内に生成される、または作成することが多い。

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

よく使う用例

venvフォルダを作成する。

python -m venv venv
※2つめの「venv」がフォルダ名になる。

venvを有効化する。venv仮想環境下に切り替える

…とwikiに書かれている場合、対象プログラムのあるフォルダ内で、下記のコマンドをターミナル*1入力します。

./venv/Scripts/activate

を実行することでグローバルなPythonライブラリではなく、venvフォルダのPythonライブラリを参照することができる。

ただし、フォルダ構成やOSにより、コマンド内容は変わります。

.¥venv¥Scripts¥activate
.\venv\Scripts\activate
venv/Scripts/activate
.venv\Scripts\activate ※venvフォルダ名を「.venv」(隠しフォルダ)で作った場合

ライブラリを再インストールする方法

「venv」フォルダを削除する

フォルダごと削除すれば、アンインストールは完了です。

再インストールを行う

各プログラムの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」に記載のライブラリがインストールされます。

関連ページ

  • よくある質問→「venv」で検索すると、関連する情報が出てきます。

*1 OSによって名称が異なる