Как устанавливать poetry?
Вопрос не в том, как в целом установить poetry (в документации все написано), а в том - какой способ выбрать и чем они в результате будут отличаться? Кто-то говорит так:
Poetry написан на Python, но это не обычная Python-программа, которую устанавливают с помощью
pip install
. Во вводном разделе документации к Poetry вы найдете команды для установки программы в вашу операционную систему.
Другие так:
Установить poetry при помощи pip:
pip install poetry
В документации сказано:
Poetry should always be installed in a dedicated virtual environment to isolate it from the rest of your system. It should in no case be installed in the environment of the project that is to be managed by Poetry. This ensures that Poetry’s own dependencies will not be accidentally upgraded or uninstalled. (Each of the following installation methods ensures that Poetry is installed into an isolated environment.) In addition, the isolated virtual environment in which poetry is installed should not be activated for running poetry commands.
Т.е. poetry должен устанавливаться всегда в выделенное виртуальное окружение, которое не должно быть активировано для выполнения команд poetry. Т.е. устанавливается она в одном, а используется в другом. Это делается для изоляции кода самого poetry, чтобы его зависимости не были случайно удалены или обновлены во время установки зависимостей для вашего проекта.
Так, хорошо, тогда разберемся со способами установки из документации:
- С помощью официального установщика
curl -sSL https://install.python-poetry.org | python3 -
Таким образом poetry установится в ~/.local/share/pypoetry
, где создаст собственное окружение и установит в него сам код poetry. Также он создаст скрипт-обертку для запуска poetry в $HOME/.local/bin
, после чего нам надо будет добавить этот путь в $PATH
(если его еще там нет) и мы сможем пользоваться poetry из командной строки.
- Вручную с помощью pip и модуля venv
Poetry can be installed manually using pip and the venv module. By doing so you will essentially perform the steps carried out by the official installer.
Т.е., по сути, это тоже самое, что и с помощью официального установщика.
python3 -m venv $VENV_PATH
$VENV_PATH/bin/pip install -U pip setuptools # не понял эту строчку
$VENV_PATH/bin/pip install poetry
Как я понял имя $VENV_PATH
- это условное название переменной, которая будет использоваться для указания пути, по которому было создано виртуальное окружение.
После этого
poetry будет доступна по адресу
$VENV_PATH/bin/poetry
и может быть вызвана напрямую или по симлинку в другом месте.
Т.е. мы можем обращаться к poetry, указывая путь до его скрипта, либо создать символьную ссылку для доступа по имени из командной строки.
Правильно ли я понял, что отличия только в том, где будет по итогу располагаться скрипт poetry и каким способом до него мы будем добираться; в первом случае - через скрипт-обертку (термин из документации, сам плохо понимаю в чем смысл) путь до директории с которым мы добавляем в $PATH, во втором - через символьную ссылку.
Все это я расписывал, чтобы лучше понять суть (а в процессе написания этого вопроса я действительно лучше в нем разобрался) и в случае превратного толкования получить фидбэк от более опытных ребят. Спасибо