0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rye https://rye.astral.sh/

Last updated at Posted at 2024-06-06

Rye とは? Pyenv のような Pipenv のような Poetry のようなものらしい。

インストール

brew では環境変数の設定がうまくいかなかったので、ドキュメント通りインストーラスクリプトを使いました。このようにインストールし直す時は ~/.rye も消さないと古いリンクが残って面倒な事になるので注意。

brew install rye
curl -sSf https://rye.astral.sh/get | bash
全部 yes
echo 'source "$HOME/.rye/env"' >> ~/.zprofile
which python
xxx/.rye/shims/python

インストールして環境変数を設定すると、python コマンドは ~/.rye 以下の物を参照するようになります。つまり、rye は python コマンドのバージョンを管理する pyenv と、python で利用するライブラリを管理する venv / pipenv / poetry の両方の役割を果たします。

パッケージの管理

rye では、パッケージはプロジェクトの中の .venv に閉じてインストールされます。

pyproject.toml をもとに環境を更新する。

rye sync

パッケージを project.toml の project.dependencies に追加して環境を更新する。

rye add パッケージ

パッケージを project.toml の tool.rye.dev-dependencies に追加して環境を更新する。

rye add --dev パッケージ

rye add でインストールしたコマンドを実行する。

rye run コマンド

pyenv との関係

rye は pyenv と同様に利用する python のバージョンを .python-version ファイルから判別します。rye と pyenv の動作はよく似ていますが、ディレクトリ構成をみると互換性は無いようです。プロジェクトの python バージョンを指定する方法は以下の通り:

rye pin バージョン

注意!: rye を入れたら PATH から $HOME/.pyenv/shims を消した方がいいです。rye と pyenv の共存も可能なようですが、VSCode が混乱して困りました。

venv との関係

rye は venv のラッパーとして動くので、rye add したコマンドにパスを通すには activate しても良いです。

. .venv/bin/activate

venv から抜ける

deactivate

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?