【Python】Poetry 1.1から1.3への更新(入れ替え)メモ

Python

Poetryの更新に一苦労

以前Python開発環境としてPoetryを使っていたのですが、ある時からPoetryではなくvenvを使うようになりました。そして先日、久しぶりにpoetryを使おうと思ったのですが見ない間に新しいバージョンが出ておりましたのでアップデートしようとしました。このときver1.1から1.3への更新です。

しかし、どうやらver1.2からPoetryの仕組みが変わったようで更新に多少苦労することになり、調べ回ってなんとか更新できたので、その時の情報ここにメモしておきます。

(ver1.1以下を使っている人にしか役に立たない情報だと思いますが。)

(環境はMacです。)

アップデートコマンドが動作しない

Poetry自身をアップデートするときのコマンドが以下のものです。

poetry self update

これでアップデートの処理が色々と流れて、その後Ver1.3になったと表示されるのですが、ターミナルのコマンドでPoetryのバージョンを調べると依然として1.1のままでした。

どうなっているかよくわからないのでアップデートに関する情報を集めてみると、どうやらVer1.2になったときにインストールの方法が変わったため、新しいインストーラーに変更することを求められていました。

Ver1.2からget-poetry.pyを使ったインストール方法が非推奨として変更されたようです。私がPoetryをインストールしたときのことを思い出すとget-poetry.pyを使っていましたので、変更の必要ありでした。

Ver1.1をアンインストールする

get-poetry.pyはレポジトリから消えている

Announcing Poetry 1.2.0 | Blog | Poetry - Python dependency management and packaging made easy
The Poetry team is pleased to announce the immediate availability of Poetry 1.2.0.

そこでこのページに記載があるアンインストール方法を行いました。

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python - --uninstall

しかしこれも失敗。よくよくみるとget-poetry.pyがリポジトリから消えているためにエラーになります。(404エラー)

サクッとアンインストールしたいのに、簡単にやらせてくれません。。。

過去のリポジトリから引っ張ってくる

そのままではアンインストールできないのでどうしたもんかと調べていると、Poetryの過去のリポジトリからそのまま引っ張ってきたら良いということでした。(当たり前といえば当たり前)

Removal of get-poetry.py · Issue #6377 · python-poetry/poetry
This issue tracks the removal of get-poetry.py from this repository. After discussion triggered by the release of 1.2.0, and an attempt to bring awareness to th...

こちらのIssueの内容を参考に以下のコマンドでアンインストールしました。

curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/901bdf0491005f1b3db41947d0d938da6838ecb9/get-poetry.py | python - --uninstall

これでもなにか残ってしまう場合は手動で削除することになると思います。(以下参照)

Poetry uninstall thinks poetry is not currently installed, but it is · Issue #4253 · python-poetry/poetry
I am on the latest Poetry version. I have searched the issues of this repo and believe that this is not a duplicate. OS version and name: Windows 10 Home 10.0.1...

また、以下のブログも参考に、もしライブラリフォルダに何かしらデータが残っていれば、手動削除することになると思います。(私の環境にはなにもありませんでした。)

# ライブラリ(仮想環境関連)
~/Library/Application Support/pypoetry

# 設定ファイル
~/Library/Preferences/pypoetry/

# キャッシュファイル
~/Library/Caches/pypoetry/
https://timesaving.hatenablog.com/entry/2022/10/01/150000

改めてPoetryをインストール

公式サイトの手順に従って以下のコマンドでPoetryをインストールします。

curl -sSL https://install.python-poetry.org | python3 -
Introduction | Documentation | Poetry - Python dependency management and packaging made easy
Introduction Poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will mana...
Retrieving Poetry metadata

# Welcome to Poetry!

This will download and install the latest version of Poetry,
a dependency and package manager for Python.

It will add the `poetry` command to Poetry's bin directory, located at:

/Users/(username)/.local/bin

You can uninstall at any time by executing this script with the --uninstall option,
and these changes will be reverted.

Installing Poetry (1.3.2): Done

Poetry (1.3.2) is installed now. Great!

To get started you need Poetry's bin directory (/Users/(username)/.local/bin) in your `PATH`
environment variable.

Add `export PATH="/Users/(username)/.local/bin:$PATH"` to your shell configuration file.

Alternatively, you can call Poetry explicitly with `/Users/(username)/.local/bin/poetry`.

You can test that everything is set up by executing:

`poetry --version`

PATHに追加することが書かれおりますが、特に何もしなくても使えました。

❯ poetry --version
Poetry (version 1.3.2)

実態は以下にいるようです。

/Users/(username)/Library/Application Support/pypoetry/

以上でPoetryの更新が完了しました。

コメント

タイトルとURLをコピーしました