実現したいこと
pyenvを使ってPythonの複数のバージョンを使い分ける
Python 3.10.0を以前入れたのですが、プログラムを動かす上で、Python3.9以下のバージョンを利用する必要があり
pyenv localを使って、現在のディレクトリとそれ以下のディレクトリで使うバージョンを指定したいと思いました。
発生している事象
Desktop/tstpディレクトリ内でPython3.8.12を設定
Python
1nakajimataichi@nakajimataichinoMacBook-Air tstp % pyenv local 3.8.12
Desktop/tstpディレクトリ内でPython3.8.12はインストールされ選択されている
python
1nakajimataichi@nakajimataichinoMacBook-Air tstp % pyenv versions 2 system 3 3.10.0 4* 3.8.12 (set by /Users/nakajimataichi/Desktop/tstp/.python-version) 5nakajimataichi@nakajimataichinoMacBook-Air tstp %
しかし同じディレクトリでPythonのバージョンを確認すると3.10.0となる
Python
1nakajimataichi@nakajimataichinoMacBook-Air tstp % python -V 2Python 3.10.0
この状態でPython3.9以下でしか動かないコードを実行すると以下のエラーが出ます
Python
1if (isinstance(value, str) or isinstance(value, collections.Callable) or hasattr(value, 'match') 2AttributeError: module 'collections' has no attribute 'Callable' 3
関連した質問 (エラーの出たコード)
https://teratail.com/questions/369518