LoginSignup
0
2

asdf, poetryでpythonのバージョンを変える

Last updated at Posted at 2023-10-12

pythonの環境構築が難しいので、メモです。

環境

  • OS: windows11, WSL(Ubuntu 22.04.2 LTS)
  • バージョン管理: asdf v0.13.1
  • 仮想環境、パッケージ管理: poetry version 1.1.14

やりたいこと

  • poetryで管理している仮想環境(venv)におけるpythonのバージョンを変える
  • すでにpoetryで作成したvenv上にpythonがインストールされている。

前提

  • asdfのインストール
  • poetryのインストール
  • poetryプロジェクトの作成

手順

  1. asdfでpythonの当該バージョンをインストール
$ asdf install python 3.12.0

python-build 3.12.0 /home/xxx/.asdf/installs/python/3.12.0
Downloading Python-3.12.0.tar.xz...
-> https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz
Installing Python-3.12.0...
Installed Python-3.12.0 to /home/xxx/.asdf/installs/python/3.12.0
  • 使いたいpythonのバージョンは手動でインストールする。

  1. pythonの現在のバージョン確認
$ asdf list

python
  3.10.0
 *3.11.0
  3.11.3
  3.12.0
  3.8.10

  1. ローカル(カレントディレクトリ以下)でpythonのバージョン指定
$ asdf local python 3.12.0

  1. pythonのバージョン確認
$ python --version

Python 3.12.0

  1. poetry(venv)で使用しているpythonのバージョン確認
$ poetry run python --version

Python 3.8.10

  1. poetry(venv)で使用するpythonのバージョン指定(ここではasdfのバージョンに合わせている)
$ which python

/home/xxx/.asdf/shims/python

$ poetry env use /home/xxx/.asdf/shims/python

Recreating virtualenv study in /home/xxx/○○○/.venv
Using virtualenv: /home/xxx/○○○/.venv
  • pyproject.tomlに書いてあるpythonのバージョンは暗黙的に使用されない。

  1. 確認
$ poetry run python --version

Python 3.12.0

感想

  • pythonの環境構築はいろんなパターンがあって難しい。
  • pythonのバージョン管理にasdf, 仮想環境とパッケージ管理にpoetryを使用するのがわかりやすい(dockerを使用しない場合)気がするが、あんまり事例が出て来ない気がした。
  • あと、結局docker使った方がわかりやすいかもと思った。

参考

https://zenn.dev/os1ma/articles/935f6e653f1052
https://zenn.dev/nnabeyang/articles/7885e4378c2d91
https://zenn.dev/fastsnowy/scraps/d7e0b5d2f14d4c
https://zenn.dev/t4aru/articles/fdc73127b895a5

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