Viji
@Viji
Associate DevOps Engineer

Почему poetry надо явно указывать путь к питону, если pyenv уже установил его?

Использую pyenv для управления версиями питона (bash)

$pyenv versions
  system
  3.8.11
* 3.9.9 (set by /home/vadim/.pyenv/version) ---> активная


захожу в директорию cd project и делаю poetry init, получаю pyproject.toml файл, указываю точную версию питона, потом
выполняю poetry env use python3.9.9 и получаю ошибку?

$ poetry env use python3.9.9
/bin/sh: 1: python3.9.9: not found

  EnvCommandError

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

  at ~/.local/share/pypoetry/venv/lib/python3.8/site-packages/poetry/utils/env.py:378 in activate
       374│                     shell=True,
       375│                 )
       376│             )
       377│         except CalledProcessError as e:
    →  378│             raise EnvCommandError(e)
       379│ 
       380│         python_version = Version.parse(python_version.strip())
       381│         minor = "{}.{}".format(python_version.major, python_version.minor)
       382│         patch = python_version.text
  • Вопрос задан
  • 311 просмотров
Решения вопроса 1
Viji
@Viji Автор вопроса
Associate DevOps Engineer
Нужно было использовать следующую команду:

poetry env use python3.9

Т.к. poetry не находит питон по его micro version, только по major.minor
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы