Python日記

【poetry】python2→3に変更したい!poetry env useとPython 2.7 is not recommended.のエラーを解決

2020年8月4日

Poetry Python2が実行されるエラーを解消の巻
WARNING: Python 2.7 is not recommended.
お悩みさん

Poetryを使ってたら、エラーがでてきた!

Poetryを使っているが、Python3に変更できず困った経験があります。

さらには、Python3に変更しようと思ったものの、

[NoCompatiblePythonVersionFound]

こんなエラーがでてきて、途方に暮れてしました。

そんなわけで、Python3への更新についてのお悩みをこの記事で解決していきます。

この記事で学べること

  1. WARNING: Python 2.7 is not recommended.の解決法
  2. [NoCompatiblePythonVersionFound]の解決法
  3. PoetryのPython2を3に変更する方法

環境

OSMac 10.15.4
Pythonpython 3.9
仮想環境Poetry
Homebrew8.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以降に変更する場合も同様です。)

pyproject.toml

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にアップデートしたときの内容をまとめています。

まとめ

この記事で学んだこと

  1. WARNING: Python 2.7 is not recommended.の解決法
  2. [NoCompatiblePythonVersionFound]の解決法
  3. PoetryのPython2を3に変更する方法

やれば簡単でしたが、情報がなくて困惑しました。

ただ、そもそもPoetryをインストールする際に、バージョンを指定すれば、

このようなエラーは起こらないので、都度、最新のバージョンを指定するのがおすすめです。

-Python日記
-,