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\virtualenvsvirtualenvs.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 --treewhlからインストールする。
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参考
whl周りの話が多少ある
Last updated