■ はじめに
https://dk521123.hatenablog.com/entry/2021/11/09/155903
の続き。 Poetry の基本的なノウハウをメモしておく。
目次
【1】Pythonバージョンを指定する場合 1)手順 【2】依存パッケージを追加する場合 1)開発のみ必要なライブラリ追加する場合 【3】Poetry で設定したツール群をインストール 1)補足:Windows上でのエラー「whl does not exist」の対応
【1】Pythonバージョンを指定する場合
* pyenv でバージョン指定する => インストールなどは、以下の関連記事を参照のこと。
仮想環境 ~ pyenv ~
https://dk521123.hatenablog.com/entry/2022/02/13/000000
1)手順
# インストールされているバージョンを確認 # => バージョン確認できない場合は、 # 上記の関連記事を参考にpyenvをインストール pyenv --version # インストール可能なバージョンを表示 pyenv install --list # 指定したバージョンをインストール # pyenv install <python-version> pyenv install 3.7.9 # グローバルなデフォルトを指定したバージョンに変更 # pyenv global <python-version> pyenv global 3.7.9
【2】依存パッケージを追加する場合
# poetry add <package-name> poetry add boto3 # パッケージのバージョンアップ poetry update --dry-run # poetry update
pyproject.toml の一部抜粋
[tool.poetry.dependencies] python = "^3.8" boto3 = "^1.20.1" << ★追加された
1)開発のみ必要なライブラリ追加する場合
# 開発のための依存関係必要なライブラリ追加 # (dev-dependencies) # poetry add --dev <package-name> poetry add --dev flake8 or poetry add flake8 -D
【3】Poetry で設定したツール群をインストール
# Git上などから落としてきたソースについて、適用したい場合など
poetry install
1)補足:Windows上でのエラー「whl does not exist」の対応
Windows 上で「poetry install」したら、 以下の「エラー内容」が表示された
エラー内容
pyparsing-X.X.X-py2.py3-none-any.whl does not exist
解決案
https://qiita.com/radiol/items/a27530fd33b7e4758e6d
に載っていた対応を実行。 具体的には、poetryがインストールされているファイル (C:\Users\ユーザー名\.poetry\installation\executor.py)を 以下のように修正したら、エラーなく実行できた
[修正版] executor.py
from poetry.core.packages.file_dependency import FileDependency from poetry.core.packages.utils.link import Link from poetry.core.packages.utils.utils import url_to_path # ADD from poetry.core.pyproject.toml import PyProjectTOML ・・・略・・・ FileDependency( package.name, # Path(archive.path) # Comment out url_to_path(archive.url) # ADD if isinstance(archive, Link) else archive, ).hash(hash_type),
関連記事
パッケージ管理 Poetry ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/11/09/155903
Python formatter ~ black ~
https://dk521123.hatenablog.com/entry/2021/11/10/095258