🐣

ローカル環境を最短&最低限の努力でサクッと構築

2023/06/17に公開

macOS M1 で Rye をインストールして最低限の環境を構築

僕の環境

  • MacBook Air
  • macOS M1 Ventura 13.4 (2023/6/17 現在)
  • ターミナル : MacOS デフォルトのターミナル使用
  • zsh 使用

今回の課題

  1. ネットが繋がらないときも、ローカル PC で軽ーく実装したい
  2. ローカル環境でライブラリなどのバージョン管理が面倒
  3. ローカル環境をなるべくきれいに使用したい

今回の解決方法

「サクッと Rye を使用して、簡単にローカル環境をきれいにしてみよう」

内容

この記事で紹介すること

Rye をインストールして、プロジェクトを作成できる環境構築手順を必要最小限で記載します。
「時短 & 楽さ」を優先し、「Rye」を使用して、ローカル環境でのライブラリなどの管理をしていくことにしました。

Kaggle や AtCoder、web アプリ開発などは別環境を使用するので、上記には当てはまりません。
今回は「Python コードを書きながら統計学の勉強をしよう」という試みで「Rye」を使用します。


現時点(2023/6)では、個人利用ならば Rye を利用した方が簡単だと感じました。
お仕事などで環境構築したい方は、他のものを採択した方が良さそうです。
オープンではありますが、今後の利用方針(メンテナンスや製品化?あたり)が変わる恐れがあるためです。
英語ドキュメント、頑張って読みました。
ちなみに macOS と Linux は使用できそうですが、windows は明記されていないので使用できない可能性があるかも知れません。


この記事で紹介しないこと

「Rye とは?」から、コマンドなどの説明はすべて省略です。
この辺りはググっていただいた方がいいかと思ったので、技術解説はしません。
この手順を行えば、サクッと Python コードを実行しやすい & ライブラリなどの管理が楽になると思います。

次のステップとして、pyenv、poetry、Docker など仮想環境を構築することができるものを使用していけばいいのでは?と、個人的に思っています。
その辺りは、今後ブログのネタとして採用するかもしれませんが現在未定です。
お楽しみに。

Rye インストール手順とプロジェクト作成

Rye とは?

公式ドキュメントはこちらです。
公式の GitHub ページはこちらです。
ここでは「Rye」とは何か?の解説はしませんので、ドキュメントなどを参考にインプットしていただけると幸いです。

インストール

以下のコマンドをターミナル上で実行するだけです。
公式ドキュメントから、必要最低限のコマンドを実行しました。

curl -sSf https://rye-up.com/get | bash

実行すると以下のような表示が出ます。
ターミナルのユーザー名があまりイけていないのは、スルーしてください。

僕はターミナルで zsh を使用しているので、環境変数は以下のように設定しました。

echo 'source "$HOME/.rye/env"' >> ~/.zshrc

その後、早速 rye コマンドを使用したら、変更が反映されていなかったので、エラーが出ました。
こちらのコマンド実行、お忘れなきよう。
※僕はいつも忘れます。

source ~/.zshrc 

プロジェクト作成

以下のコマンド実行で、プロジェクト作成できます。簡単でした。

rye init <プロジェクト名>

プロジェクト実装以降について

この記事に記載するか悩みましたが、動画を見れば雰囲気が分かると思うので省略します。
こちらがデモ動画です。

基礎的なコマンドの知識が必要になると思います。
動画では、vim を使用している部分もあり、コマンド入力はかなり早いので「速すぎる!」と感じた方は、スロー再生をお勧めします。
英語がわからない僕でも雰囲気掴めたので、大丈夫です!!

最後に

記事を記載するにあたり、プロジェクト作成のログを保存しようと思ったのですが、完全に忘れてしまいました。
なので現在調整中ですが、僕が使用している Github ページをこちらに添付します。
このリポジトリの目的は「Python で統計学を学ぶ」だったのですが、ごっちゃになりました。
完全にアンチパターンです。
初回 Zenn ブログなのでお許しください。

また、Rye の今後がわからないので、そのうち別のツールで仮想環境を構築しようと思います。
大したものを作成する予定はないので、ローカルから決しても問題ない予定です。
Git で管理していれば問題ない!と思って頑張ります。
※頑張るというのは、丁寧にログを残し、計画を立てて実装などをしていきますという意気込みです

参考

  1. のブログの解説が丁寧でしたので、こちらと公式ドキュメントで構築簡単にできました。
    ありがとうございます。

Discussion