******************************************************
Poetryを使ったパッケージ管理
******************************************************
:更新: 2024-01-03
仮想環境+パッケージ管理ツール
`公式サイト `_
インストール
=================
公式HPにインストールコマンドがあるのでターミナルから実行します。
`公式HPのインストール手順へ `_
.. hint::
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)
-------------------------------------------------------
.. error::
| ModuleNotFoundError: No module named 'msgpack.exceptions'
.. hint::
| 更新手順
* %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)
-------------------------------------------------------
.. error::
| ModuleNotFoundError: No module named 'crashtest.inspector'
.. hint::
| 更新手順 = 前回同様で復旧
.. note::
| issue修正待ちです。
| https://github.com/python-poetry/poetry/issues/2681
1.1.8⇒1.1.9(2021/09/19)
-------------------------------------------------------
.. hint::
| 更新手順 = 前回同様で復旧
1.1.9⇒1.1.11(2021/11/2)
-------------------------------------------------------
.. error::
$ ModuleNotFoundError: No module named 'cleo'
.. hint::
| 更新手順 = 前回同様で復旧
.. hint::
| 2021-12-18 追記
| Windows版 Python3.10.1において、
| poetryの依存モジュールがいくつか漏れてるようです。下記コマンドで一次凌ぎ。
| > pip install cleo tomlkit poetry.core requests cachecontrol cachy html5lib pkginfo virtualenv lockfile
| https://github.com/python-poetry/poetry/issues/553
1.1.13(2022/3/7)
-------------------------------------------------------
.. hint::
| 不調のため再インストール
| 更新手順 = 前回同様で復旧
1.4.2(2023/05/03)
------------------------------
環境::
Windows 11 Pro 22H2
Python 3.11.3
.. hint::
| %USERPROFILE%.poetry は存在せず従来手順から変更
| %APPDATA%\pypoetry が存在するのでこのフォルダを削除する
.. error::
FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: 'C:\\Users\\username\\AppData\\Roaming\\Python\\Scripts\\poetry.exe'
.. hint::
| このエラーが追加で発生。該当ファイルを手動削除し再実行
| 再実行しインストール成功
| 最後に環境変数のPATHに追加 C:\Users\username\AppData\Roaming\Python\Scripts