WARNING: Python 2.7 is not recommended.
Poetryを使ってたら、エラーがでてきた!
Poetryを使っているが、Python3に変更できず困った経験があります。
さらには、Python3に変更しようと思ったものの、
[NoCompatiblePythonVersionFound]
こんなエラーがでてきて、途方に暮れてしました。
そんなわけで、Python3への更新についてのお悩みをこの記事で解決していきます。
- WARNING: Python 2.7 is not recommended.の解決法
- [NoCompatiblePythonVersionFound]の解決法
- PoetryのPython2を3に変更する方法
環境
OS | Mac 10.15.4 |
Python | python 3.9 |
仮想環境 | Poetry |
Homebrew | 8.0.19 Homebrew |
【問題】Pythonのversionが、python2になっている
poetyをつかったところ、以下のエラーが発生しました。
WARNING: Python 2.7 is not recommended.
This version is included in macOS for compatibility with legacy software.
Future versions of macOS will not include Python 2.7.
Instead, it is recommended that you transition to using 'python3' from within Terminal.
以下のコマンドで仮想環境の状況を確認します。
poetry env info
Virtualenv
Python: 2.7.16
Implementation: CPython
Path: /Users/xxxxxxx/Desktop/app/.venv
Valid: True
System
Platform: darwin
OS: posix
Python: /System/Library/Frameworks/Python.framework/Versions/2.7
エラーで表示された通り、
Python2が使われているのが原因のようです。
失敗した方法:poetry env use 3.8
ちなみに、以下の方法はエラーがでてしまいました。
以下を試してみます。
poetry env use 3.8
[NoCompatiblePythonVersionFound]
The specified Python version (3.8.0) is not supported by the project (^2.7).
Please choose a compatible version or loosen the python constraint specified in the pyproject.toml file.
赤字でエラーが出てしまいました。
【解決方法】pyproject.tomlの変更
pyproject.tomlの変更
フォルダの中にある、pyproject.tomlの、python2の記述を修正します。
python2.○→python3.○ に修正。
今回は、python3.8に変更しました。(3.9以降に変更する場合も同様です。)
poetry env use 3.8の実行
先ほどは失敗しましたが、改めてpython3.8に変更をします。
poetry env use 3.8
Recreating virtualenv app in /Users/xxxxxxxxxxxxx/Desktop/app/.venv
Using virtualenv: /Users/xxxxxxxxxxxxxx/Desktop/slack/.venv
今度は変更できた!
念のため、確認してみます。
poetry env info
Virtualenv
Python: 3.8.0
Implementation: CPython
Path: /Users/xxxxxxxxxx/Desktop/slack/.venv
Valid: True
System
Platform: darwin
OS: posix
Python: /Library/Frameworks/Python.framework/Versions/3.8
やりました!無事に変更ができました。
参考
PCにインストールしたPoetryそのものをバージョンアップする方法は以下をご確認ください。
python3.9にアップデートしたときの内容をまとめています。
まとめ
やれば簡単でしたが、情報がなくて困惑しました。
ただ、そもそもPoetryをインストールする際に、バージョンを指定すれば、このようなエラーは起こらないので、都度、最新のバージョンを指定するのがおすすめです。
コメント