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はレポジトリから消えている
そこでこのページに記載があるアンインストール方法を行いました。
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python - --uninstall
しかしこれも失敗。よくよくみるとget-poetry.pyがリポジトリから消えているためにエラーになります。(404エラー)
サクッとアンインストールしたいのに、簡単にやらせてくれません。。。
過去のリポジトリから引っ張ってくる
そのままではアンインストールできないのでどうしたもんかと調べていると、Poetryの過去のリポジトリからそのまま引っ張ってきたら良いということでした。(当たり前といえば当たり前)
こちらのIssueの内容を参考に以下のコマンドでアンインストールしました。
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/901bdf0491005f1b3db41947d0d938da6838ecb9/get-poetry.py | python - --uninstall
これでもなにか残ってしまう場合は手動で削除することになると思います。(以下参照)
また、以下のブログも参考に、もしライブラリフォルダに何かしらデータが残っていれば、手動削除することになると思います。(私の環境にはなにもありませんでした。)
# ライブラリ(仮想環境関連) ~/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 -
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の更新が完了しました。
コメント