Poetry configuration Tips

Ubuntu Python 分析環境の構築 2/N

公開日: 2023-07-30
更新日: 2024-04-15

  Table of Contents

Configuration設定の基本

Poetry設定を行う場合は2つの方法があります

  • config commandでCLI経由で設定
  • config.tomlをエディターで設定

config.tomlの格納ディレクトリ

  • macOS: ~/Library/Application Support/pypoetry
  • Windows: %APPDATA%\pypoetry
  • Linux: ~/.config/pypoetry

現在のPoetry Configuration一覧の確認と削除

1
2
3
4
5
# 現在の設定リストの確認
% poetry config --list

# 特定の設定の削除: virtualenvs.path を削除する場合
% poetry config virtualenvs.path --unset

Configurations

installer.max-workers

  • installer.parallel = trueが設定されているときに, 用いるCPUの最大個数の設定項目
  • Defaultでは, number_of_cores + 4 で動作する
  • number_of_coresos.cpu_count()と同じ
1
% poetry config installer.max-workers 30

virtualenvs.prefer-active-python

  • Defaulrでは, false
  • 現在アクティブ化されているPythonバージョンを使用して, 新しい仮想環境を作成するオプション。
  • falseに設定されている場合, Poetryインストール時に使用されたPythonバージョンが使用される
1
% poetry config virtualenvs.prefer-active-python true

Poetry addが終わらないとき

時折ssh先で poetry add を試みるとき, 処理が終わらないときがあります. まず, -vvv optionを付与し, ログを確認しながら原因を確認してみます.

1
% poetry add <package-name> -vvv

このとき, 以下の様なメッセージが確認できた場合, keyring.backendが何かしら悪さをしている可能性が高いです.

1
2
3
4
5
[keyring.backend] Loading SecretService
[keyring.backend] Loading Windows
[keyring.backend] Loading chainer
[keyring.backend] Loading libsecret
[keyring.backend] Loading macOS

このkeyringは本来 packageをpublishする場合に読み込まれるものですが, poetry add などの non-publishing operationsのときも, poetryはkeyringへのアクセスを試みる場合があります.

一時的な対処方法として,

1
% export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring

と設定することで, 一時的に keyringを参照しなくなります. この設定を解除したい場合は以下のコマンドを実行します.

1
% unset PYTHON_KEYRING_BACKEND

References



Share Buttons
Share on:

Feature Tags
Leave a Comment
(注意:GitHub Accountが必要となります)