背景
先日、Anaconda3を使いたくなくなって、アンインストールした。
後に、asdfとPoetryでPythonの開発環境を再構築したので、メモを残しておく。
やること
asdfとPoetryでPythonの開発環境を構築する
手順
- Poetryとは何か?
- asdfのインストール
- Python プラグインの追加
- Pythonのインストール
- Poetryのインストール
- 仮想環境の構築
Poetryとは何か?
Poetryは、Pythonのパッケージ管理ツールである。Pythonには、pip や pipenv など、さまざまなパッケージ管理ツールが存在するが、Poetryもその一つ。
Poetryの目的は、パッケージの依存関係を簡単かつ効率的に管理することにある。
Poetryの主な機能
Poetryは以下のような強力な機能を提供している・
- パッケージの管理:
Pythonプロジェクトに必要なライブラリやツールのインストール、更新、削除を容易に行うことが可能。 - 依存関係の解決:
poetry.lock ファイルを通じて、プロジェクトの依存関係を一貫して管理し、互換性の問題を防ぐ。 - プロジェクト管理ファイルの生成:
pyproject.toml ファイルを使用して、プロジェクトの設定や依存関係を定義。 - 仮想環境の自動作成:
プロジェクトごとに独立した仮想環境を自動で作成し、環境ごとの依存関係の衝突を防ぐ。 - パッケージのビルドと公開:
Pythonパッケージのビルドと公開を簡単に行なうことが可能。
よく使用される機能
これらの機能の中で、特に頻繁に使われるのは、パッケージの管理から仮想環境の自動作成までの4つの機能である。
asdfのインストール
asdfはおれの場合は、すでにインストール済みだったが、一応方法の載せておく。
とはいっても、公式サイトに従いインストールだけ。
$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.3
インストールできたらpathを通す。おれの場合はzshを使っているが、bashを使っている場合は、以下の最後の~/.zshrc
のところを、~/.bashrc
に変える。
echo ". '$HOME/.asdf/asdf.sh'" > ~/.zshrc
Python プラグインの追加
ターミナルを開き、以下のコマンドで Pythonプラグインをasdfに追加。
$ asdf plugin add python
Pythonのインストール
インストール可能なPythonのバージョンは以下のコマンドで確認できる。
$ asdf list-all python
欲しいpythonをインストールする。
$ asdf install python latest
もしpython3.9系など他のバージョンをインストールしたいならば、上のlatest
のところを、
$ asdf install python 3.9.12
など、好きなバージョンに変える。latest
はそのときの最新版がインストールされる。
もし、インストールしたpythonをグローバルで使いたい場合は、以下のコマンドを実行。
$ asdf global python latest
このようにすると、どのディレクトリでもグローバルで指定したバージョンになる(python -V
で確認できる)。おれはグローバル設定は好きじゃないのでしてない。
ローカルで使用したい場合、つまりカレントディレクトリ以下でpythonバージョンを指定して使いたい場合はasdf local
を使う。
asdf local
を使えば、プロジェクトごと(ディレクトリ下ごと)にpythonのバージョンを変得ることができる。具体的には、
$ asdf local python latest
.tool-versionsというファイルが生成され、そのディレクトリ以下では指定したバージョンになる。
Poetryのインストール
Poetryの最新版をインストールしていく。
ただ、グローバルでPoetryを使いたい場合と、もしプロジェクトごとにPoetryを使いたい場合でちょっと異なるので、両方載せておく。
1.グローバルで使用する場合
$ asdf install poetry latest
poetyを全体設定にしたいので、globalインストール
$ asdf global poetry latest
これでどこでもPoetryのコマンドが使えるようになるはず。
ちなみにインストール済みのPoetryを確認したい場合か以下の通り。
$ asdf list poetry
2.プロジェクト・ディレクトリごとで使用する場合
プロジェクトのルートディレクトリに移動(存在しない場合は作成)。
$ cd /path/to/your/project
以下のコマンドで、現在のディレクトリに対して Python のバージョンを設定。
$ asdf local python latest
Poetry プラグインをインストール
$ asdf plugin add poetry
Poetry のインストール
$ asdf install poetry latest
以下のコマンドで、現在のディレクトリに対して Poetry のバージョンを設定。
$ asdf local poetry latest
注意点
この手順はプロジェクトごとにPythonとPoetryのローカル環境を設定するやり方。これにより、グローバル環境に影響を与えることなく、プロジェクトに特化した環境を構築できる。
グローバル環境に影響したくない場合はこちらがおすすめだが、プロジェクトごとにPoetryも入れないといけないので、ちょっとめんどいかもね。
仮想環境の構築
最初から構築する場合のコマンドの手順。
$ poetry init
他に使うライブラリがあるなら、
$ poetry add 使用するライブラリ
仮想環境に入って実行。
$ poetry shell
お疲れ様でした。
わからないところ、間違っているところ、もっといい方法がある場合は、コメントでもDMでも教えてください。