3
0
記事投稿キャンペーン 「2024年!初アウトプットをしよう」

【macOS】asdf+PoetryでPythonの開発環境を構築した

Last updated at Posted at 2024-01-07

背景

先日、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はおれの場合は、すでにインストール済みだったが、一応方法の載せておく。
とはいっても、公式サイトに従いインストールだけ。

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でも教えてください。

3
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
3
0