ヴェズルフェルニルの研究ノート

座右の銘「ただ一人犀の角のように歩め」的な研究活動ノート

【Windows】公式版Python + pipenvによる仮想環境構築

以前の記事にpipenvによる仮想環境の構築方法について書いたが、プラットホームはUbuntuMacを対象としてしか説明していなかった。

blog.ketus-ix.work

Windows上でも公式版Python+pipenvの組み合わせで同様の構築を構築できたので、その方法を紹介する。

以降の内容は、公式版Pythonがインストール済みであることを前提としている。Windowsでの公式版Pythonのインストール方法については下の記事を参照のこと。

blog.ketus-ix.work

pipenvのインストール

pipenvのインストールは、公式版Pythonがインストール済みの状態で、PowerShellまたはコマンドプロンプトから下のコマンドを実行すれば行える。

> pip install --user pipenv
....    ....
....    ....
....    ....
....    ....
Installing collected packages: pipenv
  WARNING: The scripts pipenv-resolver.exe and pipenv.exe are installed in 'C:\Users\USERNAME\AppData\Roaming\Python\Python312\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pipenv-2023.11.17
  

ただし、これだけではpipenvのインストールはできても、"pipenv"コマンドを使える状態にはならない。

"pipenv"コマンドを実行すると、下のようなエラーが表示されるだろう。

> pipenv --version
pipenv : 用語 'pipenv' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されま
せん。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してく
ださい。
発生場所 行:1 文字:1
+ pipenv --version
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (pipenv:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
  

これを解決するには、上のpipenvのインストール時に表示された警告メッセージ中のパス "C:\Users\USERNAME\AppData\Roaming\Python\Python312\Scripts" をユーザー環境変数Pathへ追加すれば良い。

ユーザー環境変数Pathの編集

PowerShellから下のコマンドを実行すれば、その設定操作が行える。

> $oldpath = [System.Environment]::GetEnvironmentVariable("Path", "User"); $oldpath += ";C:\Users\USERNAME\AppData\Roaming\Python\Python312\Scripts"; [System.Environment]::SetEnvironmentVariable("Path", $oldpath, "User")

上の操作を行った後、再度PowerShellまたはコマンドプロンプトを開いて"pipenv"コマンドを実行すれば、同コマンドが正常に使える状態になっているはずだ。

> pipenv --version
pipenv, version 2023.11.17

pipenvの環境変数設定

pipenvがインストールができたら、ユーザー環境変数に "PIPENV_VENV_IN_PROJECT" = "true" という設定を作成しておく。

ユーザー環境変数PIPENV_VENV_IN_PROJECTの新規作成

PowerShellから下のコマンドを実行すれば、その設定操作が行える。

> [System.Environment]::SetEnvironmentVariable("PIPENV_VENV_IN_PROJECT", "true", "User")"

この設定をしておくと、プロジェクトディレクトリ内に.venvというディレクトリが作成され、仮想環境のPythonインタープリタおよびパッケージはその中にインストールされるようになる。

pipenvによる仮想環境作成/削除

仮想環境の作成

新しい仮想環境の作成は、必ずプロジェクト用ディレクトリを作成してから、その中で行うようにする。

> mkdir PROJECT_DIR
> cd PROJECT_DIR
> pipenv install

仮想環境を作成すると、プロジェクトディレクトリ内にPipfilePipfile.lockというファイルが作成され、インストールしたパッケージ情報はこの中に追記されていく。

仮想環境の削除

> cd PROJECT_DIR
> pipenv --rm

pipenvによるパッケージ管理

パッケージのインストール

> pipenv install PACKAGE_NAME

開発用パッケージのインストール

> pipenv install --dev PACKAGE_NAME

パッケージのアンインストール

> pipenv uninstall PACKAGE_NAME

pipenvによるPythonプログラム実行

仮想環境によって直接プログラムを実行

> pipenv run python PROGRAM.py

仮想環境を起動して、プログラムを実行

> pipenv shell
> python PROGRAM.py
~~~~    ~~~~
~~~~    ~~~~
~~~~    ~~~~
~~~~    ~~~~
> exit

【参照リンク】

www.aska-ltd.jp