以下の理由で、ローカルPC(Windows)上にvenvでpythonの環境構築をしました。
- openaiやlangchainなどのパッケージをcondaで管理するのが複雑だったため
- ネットワークの関係でDockerが使用できないため
詰まった箇所があったのでメモです。
環境
- OS: windows11
- python: 3.10.11
やりたいこと
- pythonをローカルPC(windows)で実行
- バージョン管理ツール(asdfなど)やパッケージ管理ツール(conda, poetry)を使用しない
- pipを使いたい
手順
- 以下から、python3(任意のバージョン)のWindows用インストーラーをダウンロード
https://www.python.org/downloads/
- 仮想環境の作成は、バージョン3.5から
pyvenv
ではなくvenv
が推奨されている
-
Add Python 3.x to PATH
にチェックを入れ、パスを通す
- Windows PowerShellで確認
$ python -V
Python 3.10.11
- 任意のディレクトリで環境を作成
○○○に任意の環境名を入れる。
$ mkdir xxx
$ cd xxx
$ python -m venv ○○○
- 作成した環境のアクティベート
下記を実行後、プロンプトの先頭に(.○○○)
が表示されていればアクティベート成功
$ Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
$ .○○○/Scripts/Activate.ps1
- スクリプトを実行するためにPowerShellでは
$ Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
を実行する必要がある
以下メモ
- パッケージのインストール
アクティベートしている環境で任意のパッケージのインストール
$ pip install xxx
- 現環境にpipでインストールされたパッケージをrequirement.txtに出力
$ pip freeze > requirements.txt
-
pip install -r requirements.txt
で環境間でパッケージを共有できるようになる
- デアクティベート
$ deactivate
感想
- venvでの環境構築はシンプルでわかりやすかった。ローカルではvenvを使用し、pythonのバージョン管理やパッケージの管理は必要になったタイミングで導入すると理解しやすいと感じた。
参考
https://docs.python.org/ja/3/library/venv.html
https://qiita.com/fiftystorm36/items/b2fd47cf32c7694adc2e
https://www.python.jp/install/windows/venv.html
https://note.nkmk.me/python-pip-install-requirements/#requirementstxt