概要
- Pyenv:複数バージョンのPythonの管理する.
- poetry:各解析や開発のための個別の仮想環境を管理する.
- OSはmacOS, Linuxを想定している.Windowsの場合はWSL2でLinux環境を用意して利用する.
Pythonの環境を構築する方法は他にも選択肢がある.ニーズや好みに合わせて選択してほしい.
インストール
homebrewでインストールする.
|
|
Pyenv
複数のバージョンのPythonを切り替えて使いたい場合は多い.
そうした際には複数のPython環境を導入し,自身でパスを設定しても良いが面倒である.
そこで通常はPyenvのような複数のPython環境のインストールや切り替えを支援するツールを利用することになる.
依存ライブラリのインストール
公式ドキュメントに従い,自身の環境に合わせて必要なライブラリをインストールしておく.
Pythonのインストール
いくつかのPython環境をインストールしてみよう.
以下では3.11.6
と3.12.0
をインストールしているが,使いたいバージョンを設定してほしい.
|
|
バージョンの切り替え
インストールしたPythonをそれぞれ使ってみよう.
以下では3.11.6
をXXX
というディレクトリ内で,
3.12.0
をYYY
というディレクトリ内でそれぞれ利用することを想定している
(別バージョンのPythonを別のプロジェクトで使うイメージ).
|
|
一度,pyenv local
コマンドを実行すれば,以降はそのディレクトリ内に移動すれば自動で設定したバージョンが利用される.
|
|
これはpyenv local
コマンドの実行時に.python-version
という隠しファイルがディレクトリ内に作成され,
そこに設定したバージョンが記載されているためである.
|
|
おまけ
いくつか使うかもしれない機能やTipsを紹介する. 最初はとりあえず無視してもらって良い.
pyenv global
特定のディレクトリ内だけでなく,デフォルトで使いたいバージョンを指定することもできる.
pyenv global
コマンドを使う.
|
|
XXX
は設定したいバージョン.
ディレクトリ内に.python-version
ファイルがある場合は,そちらが優先される.
複数バージョンの指定
pyenv local
やpyenv global
では複数のバージョンを指定することもできる.
例えば3.10.13
とminiconda3-latest
をグローバルに使うPythonとして設定する場合は以下のようにする.
|
|
miniconda3-latestでシェル起動時に自動的にbase環境に入らないようにする
|
|
Poetry
プロジェクト毎に使いたいパッケージやそのバージョンは通常異なる.
こうした場合には,他のプロジェクトなどに影響を受けないように切り離されたPython環境(仮想環境)を構築することが一般的である.
例えば,標準ライブラリではvenvが提供されており, 異なる解析環境・開発環境を作成することができる.
Poetryは依存管理からパッケージング(Pythonパッケージを開発して配布可能な形式にまとめる)までを支援するツールである.
ここでは,Poetryを使って各解析や開発のための個別の仮想環境を管理する.
Authorの設定
デフォルトでは,.gitconfig
のuser
情報から名前とメールアドレスを取得してくる.
何も設定していない場合は,必須項目になる.
poetry/src/poetry/console/commands/init.py
ここでは.gitconfig
に設定をおこなっておこう.
|
|
XXX XXX
とxxx@example.com
は自身の情報を入力する.
プロジェクトの作成
特定のディレクトリ以下を(同じ仮想環境を使う)一つのプロジェクトとする.
|
|
設定項目についての質問が表示されるので入力していこう.
デフォルトのままで良ければ空欄で良い.
ここではPythonのバージョンだけ3.9以上3.13未満としている.
Poetryにおける(Pythonやパッケージの)バージョン指定方法は公式ドキュメントのDependency specificationを参照してほしい.
|
|
ディレクトリ内に,pyproject.toml
という設定ファイルが生成される.
依存パッケージのインストール
プロジェクト内で使うパッケージをインストールしていく.
以下では,NumPy, SciPy, pandas, matplotlib, JupyterLabをインストールしているが,自身のプロジェクトに必要なものを導入しよう.
|
|
これらのパッケージの情報もpyproject.toml
に記載される.
|
|
poetry run
Poetryで作成した仮想環境は自動ではactivateされない.
Poetryで作成した仮想環境上でコマンドを実行したい場合はpoetry run
を使う.
|
|
poetry shell
Poetryで作成した仮想環境内でシェルを立ち上げる場合はpoetry shell
を使う.
|
|
仮想環境内に導入したパッケージなどを利用できる.
|
|
仮想環境でのPythonバージョンの変更
poetry env use
により仮想環境を切り替えることができる.
例えば,異なるバージョンを利用することが可能.
|
|
仮想環境の一覧はpoetry env list
で確認できる.
|
|