1
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?

pyenv+venv→poetryの移行ガイドライン

Posted at

今更ですが、pyenv+venvユーザの私がpoetryへ移行した際の対応表をまとめます。

なお、poetryにはPythonのバージョンを管理する機能はないようなので、poetryはpyenvがインストールされている前提で書きます。

参考

インストール

pyenv+venvのインストール

この記事を見ている人はすでに知っていると思うのでここでは省略します。

poetryのインストール

まずは前準備としてPython3.5以降をインストールしておきます。

例えばUbuntuでは

shell
apt install -y python3.12

とかでOKです。
この時点ではPythonのバージョンは気にしなくて大丈夫です。

次にpoetry本体をインストールします。

shell
curl -sSL https://install.python-poetry.org | python3 -

最後に上でのコマンドラインへの出力の一部にある

Add `export PATH="*****:$PATH"` to your shell configuration file.

の通り、export PATH="*****:$PATH"~/.bashrcの末尾へ追記し、source ~/.bashrc等で有効化すれば完了です。

shell
poetry --version
# -> Poetry (version 1.8.4)

仮想環境の作成

pyenv+venv

shell
# 使用したいPythonバージョンのインストール
pyenv install 3.10
# プロジェクトディレクトリへ移動
cd path/to/project
# 使用したいPythonバージョンを指定
pyenv local 3.10
# 仮想環境のライブラリ等を保存する場所を作成
python -m venv .env

poetry

shell
# 作成したいプロジェクトディレクトリの1つ上へ移動
cd path/to
# 'project'という名前でプロジェクトディレクトリを作成
poetry new project
# 使用したいPythonバージョンのインストール
pyenv install 3.10

プロジェクトディレクトリ直下のpyproject.tomlの一部を使用したいPythonバージョンに従って以下に変更。

pyproject.toml
[tool.poetry.dependencies]
python = "^3.10"
shell
# 使用したいPythonバージョンの実行ファイルまでのパスを指定
poetry env use ~/.pyenv/versions/3.10.15/bin/python

パッケージのインストール/アンインストール/インストール済み一覧表示

pyenv+venv

shell
# プロジェクトディレクトリへ移動
cd path/to/project
# 仮想環境の有効化
source .env/bin.activate
# numpyのインストール
pip install numpy
# インストールされているパッケージ一覧の表示
pip list
# numpyのアンインストール
pip uninstall numpy
# 仮想環境の有効化解除
deactivate

poetry

shell
# プロジェクトディレクトリへ移動
cd path/to/project
# numpyのインストール
poetry add numpy
# インストールされているパッケージ一覧の表示
poetry show
# numpyのアンインストール
poetry remove numpy

プログラムの実行

pyenv+venv

shell
# プロジェクトディレクトリへ移動
cd path/to/project
# 仮想環境の有効化
source .env/bin.activate
# 実行ファイルの場所を指定して実行
python src/run.py
# 仮想環境の有効化解除
deactivate

poetry

shell
# プロジェクトディレクトリへ移動
cd path/to/project
# 実行ファイルの場所を指定して実行
# (poetryではプロジェクトディレクトリ下の[プロジェクト名]ディレクトリ配下に実行ファイルを置くようです。)
poetry run python project/run.py

または

shell
# プロジェクトディレクトリへ移動
cd path/to/project
# 仮想環境の有効化
poetry shell
# 実行ファイルの場所を指定して実行
# (poetryではプロジェクトディレクトリ下の[プロジェクト名]ディレクトリ配下に実行ファイルを置くようです。)
python project/run.py
# 仮想環境の有効化解除
exit

仮想環境の削除

pyenv+venv

shell
# 仮想環境のライブラリ等が格納されているディレクトリを削除
rm -r path/to/project/.env

poetry

shell
# プロジェクトディレクトリへ移動
cd path/to/project
# 仮想環境の名前を取得
poetry env list
# -> project-ZdgNLEiz-py3.10 (Activated)
# 上の結果をもとに仮想環境を削除
poetry env remove project-ZdgNLEiz-py3.10

おわり

今のところあまりpoetryの便利さが感じられませんが、使えるようにしておけば将来参加するプロジェクトでpoetryを使っている場合に役に立つでしょう。多分。
あと、まだ気づけていないpoetryの利点も多分あるんでしょうね。

1
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
1
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?