pyenv+poetryからryeへ移行する
表題の通り、Windows 環境において pyenv + poetry から rye へ移行する方法を紹介します。また、移行は既存のプロジェクトを対象とします。
準備
既存のプロジェクトディレクトリで念の為pyproject.tomlのバックアップを取得しておきます。(gitで管理しているので、この作業は不要かもしれませんが。)次にpoetry export
コマンドを使用して、requirement.txtを作成します。
cp pyproject.toml pyproject.toml_bk
poetry export --without-hashes --without-urls | awk '{ print $1 }' FS=';' | save requirement.txt
pyenv の削除
where
で pyenv の実行パスを確認します。
確認した.pyenv
ディレクトリを削除します。
rm -r .pyenv
最後に環境変数Pathからpyenvを削除する。
rye をインストールする
公式サイトからインストーラーをダウンロードする。インストーラーを起動するとWindowsの SmartScreen にひかかってしまいますが、「詳細情報」の部分をクリックしてインストーラーを実行する。
起動すると、コマンドプロントが立ち上がり、対話形式でインストールを進めていきます。
デフォルトの Python がインストールされていることを確認します。
Python 3.12.3 (main, Apr 15 2024, 17:48:16) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hoge")
hoge
>>>
既存のプロジェクトをryeでセットアップする
pyenv が作成した .venv
フォルダを削除する。
cd <python project>
rm .venv
最初に作成したrequirement.txt
を基にrye init
コマンドを実行し、sync
コマンドで環境をセットアップする。
rye init -r requirement.txt
rye sync
環境をアクティベートし、実行できるか確認する。
./.venv/Scripts/activate
python hoge.py
最後にpoetry時代のpyproject.toml
を適宜コピペすれば、移行完了です。