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?

今更ながら、Pythonバージョン指定

Posted at

Kiroでスペック駆動開発というのと進めている。
テスト的に、画像認識を伴うアプリを作成していたところ、Pillow 10.1.0のインストールが失敗する事象が発生し、pyenvで解決したのでメモ。

起こったこと

requirements.txtでPillow=10.1.0指定を(Kiroが)している。
この状態で、venvで仮想環境を作成しpip install -r --requirements.txtを実行して依存関係をインストールしようとしたところ、Pirrowがインストール出来ない旨のエラーが発生した。

原因

Pirrow 10.1.0に、システム(mac)でインストールされているPython 3.13.5との互換性がなかった。
Q Dev CLIで調査したところ、3.12までしか対応していないらしい。

対応

pyenvを使用して、3.12系の最新である3.12.11をインストールし、これを使うように仮想環境を構成した。
これまで、pyenvを使わずやりくりしてきたのだが、そろそろ限界っぽいのでこの機に対応する。

1. pyenvのインストール

> brew install pyenv

2. .zshrcの編集

> vi ~/.zshrc
> echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

3. .zshrcの実行

> . ~/.zshrc

4. pyenvでPython 3.12をインストール

> pyenv insstall 3.12.11

5. 確認

> pyenv commands
> pyenv versions
> pyenv versions
* system (set by /Users/<ユーザー名>/.python-version)
  3.12.11
  3.13.5
> python --version
Python 3.13.5

6. 設定ファイル作成

> cd <プロジェクトルート>
> echo 3.12.11 > .python-version

7. 仮想環境作成

> python -m vevn venv
> source venv/bin/activate

7. 確認

> pyenv versions
  system
* 3.12.11 (set by /Users/tnakatan/Documents/codes/gitlab/kiro-mahjong-calculator/.python-version)
  3.13.5
> python --version
Python 3.12.11

8. 片付け

開発・テスト作業が終わったら、仮想環境を終了して終わり。

> deactivate

まとめ

一念発起してまじめにPython実行環境を整備すると、だいぶ楽になった。--break-system-packagesとか、いちいち実行したくないし。
なお、最近はRustベースのmiseというpyenv互換ツールもあるらしい。そのうち試してみよう。

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?