web-dev-qa-db-ja.com

詩はPythonの正しいバージョンを使用していません

最近Pyenvと詩の両方をインストールし、新しいPython 3.8プロジェクトを作成します。globallocalの両方のバージョンを設定しました= python to _3.8.1_ to using the適切なPyenvコマンド(たとえば、_pyenv global 3.8.1_)。ターミナルで_pyenv version_を実行すると、出力は_3.8.1._ as期待された。

ここで問題は、新しいpythonプロジェクトを詩(_poetry new my-project_)で作成すると、生成された_pyproject.toml_ファイルがpython 2.7:

_[tool.poetry]
name = "my-project"
version = "0.1.0"
description = ""
authors = ["user <[email protected]>"]

[tool.poetry.dependencies]
python = "^2.7"

[tool.poetry.dev-dependencies]
pytest = "^4.6"

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
_

詩はデフォルトでPythonのシステムバージョンに戻っているようです。 Pyenvでインストールされたバージョンを使用するようにこれを変更するにはどうすればよいですか?

編集

Python 2.7にバンドルされているMacOSを使用しています。ここで問題が発生している可能性があります。Python 3.8を再インストールしましたPyenvで、しかし私が_Poetry install_を押すと、次のエラーが発生します:

_The currently activated Python version 2.7.16 is not supported by the project (^3.8).
Trying to find and use a compatible version.

[NoCompatiblePythonVersionFound]
Poetry was unable to find a compatible version. If you have one, you can explicitly use it via the "env use" command. 
_

Pyenvを使用してプロジェクトの環境を明示的に作成する必要がありますか、または_pyenv local 3.8.1._の実行後にプロジェクトが正しいPython=バージョンにアクセスできるようにする必要がありますか?後者を実行しても、何も変更されず、それでも同じエラーが発生します。

5
P4nd4b0b3r1n0

この問題は解決されましたが、この問題に遭遇した人のために書いています。すべての試みの後、私のpython -Vは常に2.7となり、pyenvシェルの実行についての議論はありませんでした(驚いたことに!)パスへのpyenvの追加

$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

私の場合、bash_profileではなく.bashrcに追加する必要がありました。 https://ggkbase-help.berkeley.edu/how-to/install-pyenv/

働きました!

0
Arpana Mehta