poetry init는 3.10, poetry envuse python 3을 사용할 수 있습니다.10 오류 발생

2857 단어 Pythonpoetrytech

TL;DR


Homebrew를 사용하여 Poetry를 설치할 때 Python 3.첨부 10(2022년 1월까지).
Homebrew에서 의존 관계로 설치된 모듈은 PATH에 존재하지 않기 때문에 pyenv 등에 설치하지 않으면 오류가 발생합니다.

Poetry 사양


poetry init


poetry init에서 -python 옵션이 지정되지 않은 경우 Poetry에서 사용하는 Python을 사용합니다.
참조: poetry env use python3.10
겸사겸사10이 없는 상태에서 current_env = SystemEnv(Path(sys.executable))를 지정하면 --python 3.10 에서 오류가 발생합니다.
% poetry init --python 3.10
# 省略
Do you confirm generation? (yes/no) [yes]

% poetry install
The currently activated Python version 3.10.1 is not supported by the project (3.10).
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.

poetry env use python3.10


PATH에서10이 없으면 오류가 발생합니다.
% poetry env use python3.10
/bin/sh: python3.10: command not found

  EnvCommandError

  Command python3.10 -c "import sys; print('.'.join([str(s) for s in sys.version_info[:3]]))" errored with the following return code 127, and output:

해결책


문서에 기재된 바와 같이pyenv에서python 3.이용하다
pyenv local 3.10.1

poetry config virtualenvs.in-project true --local
# OR
export POETRY_VIRTUALENVS_IN_PROJECT=true

poetry init --python ^3.10
poetry install

총결산


pyenv에서 버전을 명확하게 지정하면 Poetry가 기본적으로 사용하는 Python을 피할 수 있습니다.

좋은 웹페이지 즐겨찾기