概要
仮想環境を作るのにpoetryが便利だったので、使い方を自分用にまとめました。
環境
- M2 Macbook
- OS Sonoma14.4
Poetryのインストール
公式ドキュメントはこちら。
- Linux, macOS, Windows (WSL)の場合
curl -sSL https://install.python-poetry.org | python3 -
- asdfでいれる場合
$ asdf plugin-add poetry
$ asdf install poetry latest
$ asdf global poetry latest
$ poetry --version
Poetry (version 1.8.3)
まずやっておきたい設定
poetryの設定は、configコマンドを使って確認します。
インストール直後は下記のようになっているかと思います。
$ poetry config --list
cache-dir = "/Users/User/Library/Caches/pypoetry"
experimental.system-git-client = false
installer.max-workers = null
installer.modern-installation = true
installer.no-binary = null
installer.parallel = true
keyring.enabled = true
solver.lazy-wheel = true
virtualenvs.create = true
virtualenvs.in-project = false
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.no-setuptools = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs"
virtualenvs.prefer-active-python = true
virtualenvs.prompt = "{project_name}-py{python_version}"
warnings.export = true
venv環境を一括管理せずに、プロジェクトの場所に設置したいので、下記コマンドでvirtualenvs.in-project をglobalでtrueにしておきます。
$ poetry config virtualenvs.in-project true
使い方
環境作成
# pyproject.toml(共用設定ファイル)とvenv環境を作成
$ mkdir {作りたいディレクトリ}
$ poetry init
# モジュールのpyproject.tomlへの登録と、インストール
$ poetry add {モジュール名}
# 追加したモジュールの確認
$ poetry show
実行
# poetryのvenvで実行
# 実行中のみvenv環境となる
$ poetry run python xxxx.py
#シェルの起動
$ poetry shell
その他のチートシート
# pyproject.tomlのライブラリを入れる。
# すでに入ってたらアップデート、最新時はスキップ
$ poetry update
# updateをしたらどうなるかを表示
$ poetry update –-dry-run
# モジュールのpyproject.tomlからの削除とアンインストール
$ poetry remove {モジュール名}
# 全モジュールのpyproject.tomlからの削除とアンインストール
$ poetry env remove --all
誰かが作った環境設定をもらったとき(初回のみ)
$ poetry install
下記のようなエラーになったときは、一度venvコマンドで仮想環境を作ってから、poetry installしてください。
$ python --version
Python 3.11.4
# version合ってるはずなのにエラー
$ poetry install
The currently activated Python version 3.12.4 is not supported by the project (=3.11.4).
Trying to find and use a compatible version.
Poetry was unable to find a compatible version. If you have one, you can explicitly use it via the "env use" command.
# venvで仮想環境を作成
$ python -m venv .venv
$ poetry install
仮想環境を消したいとき
# 仮想環境の一覧を表示
$ poetry env list
# 仮想環境を削除
$ poetry env remove {name}
VSCodeでJupyterを使う
Jupyterでセルを実行する際、下記のエラーが出ることがある。
'Python 3.12.4' でセルを実行するには、 ipykernel パッケージが必要です。
次のコマンドを実行して、'ipykernel' を Python 環境にインストールします。
コマンド: '/usr/local/bin/python3 -m pip install ipykernel -U --user --force-reinstall'
ipykernelを仮想環境にインストールすることで実行できる。
poetry add ipykernel
参考