Poetryを使ったパッケージ管理#

更新:

2024-01-03

仮想環境+パッケージ管理ツール

公式サイト

インストール#

公式HPにインストールコマンドがあるのでターミナルから実行します。

公式HPのインストール手順へ

ヒント

pipx でのインストールが推奨に切り替わりました。 Windowsの方でPowershellコマンドでインストールして来た方、pipxでの管理への切替をおすすめします。

基本コマンド#

バージョン確認:

poetry --version

pyproject.toml作成:

poetry init

PKGをinstall:

poetry install

依存PKGを最新化:

poetry update

PKG追加:

poetry add [pkg]

開発用PKG追加:

poetry add --dev [pkg]

GITHUBのPKGを追加:

poetry add git+https://github.com/repo/pkg.git

PKG削除:

poetry remove [pkg]

venv設定#

設定確認:

poetry config --list

venv分離設定:

poetry config virtualenvs.in-project true

in-projectはTrueにしておくと該当プロジェクトに閉じた影響範囲で管理されます。--localオプションをつけると、poetry.tomlに記録されてgit管理できるようになります。

venv環境を独立するためのconfig確認・設定:

poetry config --list
poetry config virtualenvs.in-project true

poetry self update 履歴#

Windows版では、度々self updateがNGになります。pipx版になったことで改善が期待できそうです。 以下は、Powershellコマンドでインストールしていた時代の過去の対処法のメモです。

環境:

Windows 10 Pro 20H2
Python 3.9.7

1.1.6⇒1.1.7(2021/08/14)#

エラー

ModuleNotFoundError: No module named 'msgpack.exceptions'

ヒント

更新手順
  • %USERPROFILE%.poetry フォルダを削除

  • 推奨手順のインストールを実行

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -

1.1.7⇒1.1.8(2021/08/22)#

エラー

ModuleNotFoundError: No module named 'crashtest.inspector'

ヒント

更新手順 = 前回同様で復旧

注釈

issue修正待ちです。

1.1.8⇒1.1.9(2021/09/19)#

ヒント

更新手順 = 前回同様で復旧

1.1.9⇒1.1.11(2021/11/2)#

エラー

$ ModuleNotFoundError: No module named 'cleo'

ヒント

更新手順 = 前回同様で復旧

ヒント

2021-12-18 追記
Windows版 Python3.10.1において、
poetryの依存モジュールがいくつか漏れてるようです。下記コマンドで一次凌ぎ。
> pip install cleo tomlkit poetry.core requests cachecontrol cachy html5lib pkginfo virtualenv lockfile

1.1.13(2022/3/7)#

ヒント

不調のため再インストール
更新手順 = 前回同様で復旧

1.4.2(2023/05/03)#

環境:

Windows 11 Pro 22H2
Python 3.11.3

ヒント

%USERPROFILE%.poetry は存在せず従来手順から変更
%APPDATA%pypoetry が存在するのでこのフォルダを削除する

エラー

FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: 'C:\Users\username\AppData\Roaming\Python\Scripts\poetry.exe'

ヒント

このエラーが追加で発生。該当ファイルを手動削除し再実行
再実行しインストール成功
最後に環境変数のPATHに追加 C:UsersusernameAppDataRoamingPythonScripts