poetry

poetryインストール

  • powershellの場合

> (Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -
  • 以下にインストールされる。

    • /c/Users/{ユーザ名}/.poetry/bin

  • linux/WSL/macOSの場合

$ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
  • 以下にインストールされる。

    • $HOME/.poetry/bin

poetryの設定

  • 設定の確認。

$ poetry config --list # global
$ poetry config --local --list # local
  • 値を設定したいときは以下のようにする。

$ poetry config {設定名} true
  • 値をデフォルトにしたい場合は、--unsetする。

$ poetry config {設定名} --unset
  • デフォルトの設定は以下の通り。

cache-dir = "C:\\Users\\{ユーザ名}\\AppData\\Local\\pypoetry\\Cache"
experimental.new-installer = true
installer.parallel = true
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.path = "{cache-dir}\\virtualenvs"  # C:\Users\{ユーザ名}\AppData\Local\pypoetry\Cache\virtualenvs
  • virtualenvs.in-projectは、仮想環境のインストール場所を設定する。

  • プロジェクトと同じ場所に.venvとして配置したいのであれば、trueにする必要がある。

  • デフォルトのnullの場合、C:\Users\{ユーザ名}\AppData\Local\pypoetry\Cache\virtualenvsに配置される。

poetryの基本的な使い方

  • 仮想環境一覧の確認

$ poetry env list
  • 仮想環境の情報取得

$ poetry env info
  • 仮想環境へのログイン

$ poetry shell
  • 仮想環境でコマンド実行

$ poetry run {your commands}
  • poetryでの管理を開始する。

$ poetry init
  • 既にあるtomlファイルを元に環境を構築する。

$ poetry install
  • パッケージを追加する。

$ poetry add {Package Name}
  • パッケージを削除する。

$ poetry remove
  • 依存関係を確認する。

poetry show --tree
  • whlからインストールする。

poetry add {URLまたはローカルのwhlファイル}

URLの解釈がエラーになる場合があるので、その場合はpyproject.tomlに追記するしかない

[tool.poetry.dependencies]
パッケージ名 = { url = "指定したいURL"}

poetry自体のアップデート

  • こういうのもある。

> poetry self update
  • なんかうまくいかないときは、普通にインストール時のコマンドを試す価値あり。

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

poetry完全削除

  • インストール場所の削除

    • Windowsの場合: C:\Users{ユーザ名}.poetry\bin

    • Linux/WSL/macOSの場合: $HOME/.poetry/bin

  • キャッシュの削除

    • Windowsの場合:

      • C:\Users{ユーザ名}\AppData\Local\pypoetry

      • C:\Users{ユーザ名}\AppData\Roaming\pypoetry

      • C:\Users{ユーザ名}\AppData\Roaming\Python

    • Linux/WSL/macOSの場合: ??

トラブルシューティング

キャッシュからのパッケージ読み込みエラー

  • 以下ののようなエラー。

C:\Users\{ユーザ名}\AppData\Local\pypoetry\Cache\artifacts\ ...(略)... does not exist
  • キャッシュが読み込めないエラーがあるっぽい。

    • https://blog.panicblanket.com/archives/6329

  • githubのissueはcloseしている。

    • https://github.com/python-poetry/poetry/issues/4163

  • 結論としてよくわからないパッケージ見つからないエラーがでた場合、以下のキャッシュを消すことは試す価値がある。

C:\Users\{ユーザ名}\AppData\Local\pypoetry\Cache\artifacts

参考

Last updated