【Python】環境構築~Poetry~【Windows】

python

Poetry を使った Python 環境構築の方法について説明します。

Python がすでにインストールされていることが前提です。まだインストールされていない場合は、以下記事を参照してください。

はじめに

Poetry は最近主流となってきているのパッケージマネージャーです。pip と同じようにパッケージ管理ができますが、仮想環境の構築も行うことができます。

インストール前に pyenv を使ったバージョン切り替えを導入しておくことをおすすめします。セットアップ方法は以下記事を参照してください。 (記事中の仮想環境構築は不要です。)

Poetry のインストール

公式サイト を参考にインストールします。
Windows での手順は PowerShell を起動し以下コマンドを入力します。

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -

Linux や Mac OS の場合は以下コマンドでできるそうですが未確認です。

curl -sSL https://install.python-poetry.org | python3 -

動作確認のため以下コマンドを入力します。

poetry --version

バージョンが表示されれば成功です。
表示されない場合は環境変数の設定が必要だと考えられます。「環境変数の設定」を参照してください。

poetry を更新します。

poetry self update

環境変数の設定

ユーザーの環境変数の Path に以下を追加します。

変数値 (追加)
Path%APPDATA%\pypoetry\venv\Scripts

PowerShell などを再起動して再度動作確認をします。

poetry --version

poetry の使用

poetry を使用して環境の構築をします。
ここではワークスペースを「D:\workspace\poetry」、プロジェクト名を「test」として説明します。

pyenv を使ってバージョンを指定したい場合は設定してください。

pyenv local 3.10.5

プロジェクトの作成をします。
今回は「poetry init」を使って作成します。「poetry new」でも作成可能です。
値はテストようなので適当です。適宜設定してください。未入力だと[]の設定が使用されます。

D:\workspace\poetry>poetry init

This command will guide you through creating your pyproject.toml config.

Package name [poetry]:  test
Version [0.1.0]:  0.1.0
Description []:  description
Author [test <test@example.com>, n to skip]:  n
License []:  MIT
Compatible Python versions [^3.10]:

Would you like to define your main dependencies interactively? (yes/no) [yes] no
Would you like to define your development dependencies interactively? (yes/no) [yes] no
Generated file

[tool.poetry]
name = "test"
version = "0.1.0"
description = "description"
authors = ["Your Name <you@example.com>"]
license = "MIT"
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.10"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"


Do you confirm generation? (yes/no) [yes] yes

poetry でパッケージをインストールをしてみます。pip ではなく poetry を使用してください。

poetry add django

開発環境にのみ必要なものは -D をオプションをつけるとインストールできます。
ここが poetry の強みの一つでもあります。

poetry add -D black
タイトルとURLをコピーしました