Poetry python install windows

Introduction #

Poetry is a tool for dependency management and packaging in Python.
It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.
Poetry offers a lockfile to ensure repeatable installs, and can build your project for distribution.

System requirements #

Poetry requires Python 3.9+. It is multi-platform and the goal is to make it work equally well
on Linux, macOS and Windows.

Installation #

Note

If you are viewing documentation for the development branch, you may wish to install a preview or development version of Poetry.
See the advanced installation instructions to use a preview or alternate version of Poetry.

pipx is used to install Python CLI applications globally while still isolating them in virtual environments.
pipx will manage upgrades and uninstalls when used to install Poetry.

  1. Install pipx

    If pipx is not already installed, you can follow any of the options in the
    official pipx installation instructions.
    Any non-ancient version of pipx will do.

  2. Install Poetry

  3. Install Poetry (advanced)

    Note

    You can skip this step, if you simply want the latest version and already installed Poetry as described in the
    previous step. This step details advanced usages of this installation method. For example, installing Poetry from
    source, having multiple versions installed at the same time etc.

    pipx can install different versions of Poetry, using the same syntax as pip:

    pipx install poetry==1.8.4
    

    pipx can also install versions of Poetry in parallel, which allows for easy testing of alternate or prerelease
    versions. Each version is given a unique, user-specified suffix, which will be used to create a unique binary name:

    pipx install --suffix=@1.8.4 poetry==1.8.4
    poetry@1.8.4 --version
    
    pipx install --suffix=@preview --pip-args=--pre poetry
    poetry@preview --version
    

    Finally, pipx can install any valid pip requirement spec, which
    allows for installations of the development version from git, or even for local testing of pull requests:

    pipx install --suffix @main git+https://github.com/python-poetry/poetry.git@main
    pipx install --suffix @pr1234 git+https://github.com/python-poetry/poetry.git@refs/pull/1234/head
    
  4. Update Poetry

  5. Uninstall Poetry

Warning

Poetry should always be installed in a dedicated virtual environment to isolate it from the rest of your system.
Each of the above described installation methods ensures that.
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.
In addition, the isolated virtual environment in which poetry is installed should not be activated for running poetry commands.

Enable tab completion for Bash, Fish, or Zsh #

poetry supports generating completion scripts for Bash, Fish, and Zsh.

Note

You may need to restart your shell in order for these changes to take effect.

See poetry help completions for full details, but the gist is as simple as using one of the following:

Bash #

Auto-loaded (recommended) #

poetry completions bash >> ~/.bash_completion

Lazy-loaded #

poetry completions bash > ${XDG_DATA_HOME:-~/.local/share}/bash-completion/completions/poetry

Fish #

poetry completions fish > ~/.config/fish/completions/poetry.fish

Zsh #

poetry completions zsh > ~/.zfunc/_poetry

You must then add the following lines in your ~/.zshrc, if they do not already exist:

fpath+=~/.zfunc
autoload -Uz compinit && compinit

Oh My Zsh #

mkdir $ZSH_CUSTOM/plugins/poetry
poetry completions zsh > $ZSH_CUSTOM/plugins/poetry/_poetry

You must then add poetry to your plugins array in ~/.zshrc:

Prezto #

poetry completions zsh > ~/.zprezto/modules/completion/external/src/_poetry

If completions still don’t work, try removing ~/.cache/prezto/zcompcache and starting a new shell.

  1. Open Windows Powershell: Navigate to your Start menu, type «Powershell», and select «Windows Powershell» from the search results.

  2. Run Installation Command: In the Powershell window, paste the following command and press Enter:

Note: If you’ve installed Python through the Microsoft Store, replace py with python in the command below.

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
  1. Wait for Installation to Complete: The installation process may take some time depending on your internet connection speed. Let it run until completion.

  2. Copy Installation Path: Once the installation is complete, it will provide you with a path. Copy this path as you’ll need to add it to your user environment variables.

  3. Add Path to Environment Variables:

    • Right-click on the Start button and select «System».
    • In the System window, click on «Advanced system settings» on the left sidebar.
    • In the System Properties window, click on the «Environment Variables…» button.
    • In the Environment Variables window, under «User variables for [YourUsername]», find the «Path» variable and select it.
    • Click on the «Edit…» button.
    • In the Edit Environment Variable window, click on «New» and paste the path you copied from the installation process.
    • Click «OK» on all open windows to save your changes.
  4. Close and Reopen Powershell: Close the Powershell window and open a new one.

  5. Verify Installation: In the new Powershell window, type poetry --version and press Enter. If Poetry has been successfully installed, you should see its version number printed in the terminal.

You have now successfully installed Poetry on your Windows system. You can start using it for managing your Python projects.

Время на прочтение6 мин

Количество просмотров197K

Poetry — это инструмент для управления зависимостями в Python проектах (аналог встроенного pip). Идея реализации данного инструмента пришла его создателю в связи с тем, что различные способы менеджмента пакетов (requirements.txt, setup.cfg, MANIFEST.ini и другие) показались создателю Poetry не очень-то удобными. 

Предлагаю тем, кто пишет на Python, познакомиться с данным инструментом, так как это очень простой и удобный в использовании инструмент, применение которого может упростить ведение и разработку проекта.

Установка

Установить poetry на windows можно либо при помощи pip:

pip install poetry

Либо более гибким вариантом через powershell:

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -

Отличие от pip

Pip хранит данные о зависимостях в файле requirements.txt (название на самом-то деле может быть любое), poetry хранит информацию в файле pyproject.toml, однако, в случае с pip, в его файле хранится только список зависимостей с описанием версий, а в .toml хранится вся основная информация о проекте, что очень удобно, так как все данные собраны в одном месте (далее последует более подробное описание).

Чтобы установить зависимости в pip необходимо выполнить:

pip install -r requirements.txt

Что для poetry займет всего 2 слова:

# для первичной установки
poetry install
# для обновления
poetry update

Просмотр зависимостей в pip можно сделать только командой:

pip freeze

Однако будут показаны только актуальные версии библиотек, не будет возможности увидеть структуру всех пакетов с их зависимостями. В poetry в файле poetry.lock можно увидеть сведения обо всех установленных пакетах, команда:

poetry show --tree

Покажет древовидную структуру пакетов с их личными зависимостями.

Так же запуск проекта в pip (в случае с виртуальным окружением) создает неудобства, так как первым делом необходимо зайти в это самое окружение при помощи команды:

./venv/Scripts/activate.bat

И только затем можно выполнять какие-либо изменения с проектом. В poetry нет необходимости активировать виртуальное окружение, достаточно лишь зайти в папку с проектом и начинать пользоваться командами. Poetry сам найдет нужное окружение. Также в poetry можно менять версию python без необходимости менять старое виртуальное окружение.

Это лишь малая часть преимуществ. Далее рассмотрим примеры команд и структуру poetry файлов.

pyproject.toml

Главный файл для poetry — это pyproject.toml. Все данные о проекты должны быть записаны в нём. При установке пакетов poetry берёт данные из этого файла и формирует файл с зависимостями poetry.lock (если уже есть готовый файл poetry.lock, то данные будут браться из него). Toml файл состоит из нескольких блоков, каждый из которых имеет свои особенности, рассмотрим данные блоки:

[tool.poetry] — содержит основную информацию о проекте, такую как:

  • name — имя проекта

  • version — версия проекта

  • description — описание проекта

  • license — лицензия проекта

  • authors — список авторов проекта в формате name <email>

  • maintainers — список менторов проекта формате name <email>

  • readme — readme файл проекта в формате README.rst или README.md

  • homepage — URL сайта проекта

  • repository — URL репозитория проекта

  • documentation- URL документации проекта

  • keywords — список ключевых слов проекта  (макс: 5)

  • classifier — список PyPI классификаторов

[tool.poetry.dependencies] — содержит описание всех зависимостей проекта. Каждая зависимость должна иметь название с указанием версии, также присутствует возможность скачать проекта с github с указанием ветки/версии/тэга, например:

  • requests = «^2.26.0»

  • requests = { git = «https://github.com/requests/requests.git» }

  • requests = { git = «https://github.com/kennethreitz/requests.git», branch = «next» }

  • numpy = { git = «https://github.com/numpy/numpy.git», tag = «v0.13.2» }

[tool.poetry.scripts] — в данном разделе можно описать различные сценарии или скрипты, которые будут выполняться при установке пакетов или при запуске приложения. Например:

  • poetry = ‘poetry.console:run’

  • main-run = ‘new_proj.main:run’ (после чего достаточно запустить poetry main-run и будет выполнен запуск функции run в файле new_prof/main.py)

[tool.poetry.extras] — в данном блоке описываются группы зависимостей, которые можно устанавливать отдельно:

[tool.poetry.dependencies]
psycopg2 = { version = "^2.7", optional = true }
pymysql = { version = "1.0.2", optional = true }
[tool.poetry.extras]
mysql = ["pymysql"]
pgsql = ["psycopg2"]

Далее зависимости можно установить двумя способами:

poetry install --extras "mysql pgsql"
poetry install -E mysql -E pgsql

[tool.poetry.urls] — помимо основных URL, указанных в [tool.poetry], можно указывать свои URL:

  • «Bug Tracker» = «https://github.com/python-poetry/poetry/issues»

Пример данных в pyproject.toml

[tool.poetry]
name = "new_proj"
version = "0.1.0"
description = "My description"
authors = ["Daniil Gorbenko <dani.gorbenko@gmail.com>"]

[tool.poetry.dependencies]
python = "^3.10"
pygame = "^2.1.0"
icecream = "^2.1.1"
requests = "^2.26.0"
psycopg2 = { version = "^2.7", optional = true }
pymysql = { version = "1.0.2", optional = true }

[tool.poetry.dev-dependencies]
Pympler = "^0.9"

[tool.poetry.urls]
"Bug Tracker" = "https://github.com/python-poetry/poetry/issues"

[tool.poetry.scripts]
run-main = "new_proj.main:main_def"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

Основные методы

new

Чтобы создать новый проект с помощью Poetry, достаточно выполнить poetry new <название папки с проектом>. После чего создастся папка с названием вашего проекта, в этой папке будет лежать файл pyproject.toml.

poetry new new_project

init

Чтобы сделать пакетным менеджером poetry в уже имеющемся проекте, достаточно выполнить:

poetry init

Далее будет предложено заполнить немного основной информации о проекте

Пример заполнения информации о проекте

Пример заполнения информации о проекте

Метод может принимать некоторые необязательные параметры:

  • —name: имя проекта

  • —description: описание проекта

  • —author: имя автора

  • —python: совместимые версии Python

  • —dependency: требуемый пакет с версией пакета

  • —dev-dependency: требования к разработке

После чего в проекте появится файл pyproject.toml, в котором вручную можно изменить любые данные.

install

Чтобы установить зависимости проекта достаточно выполнить команду:

poetry install

Poetry считывает данные из pyproject.toml, строит дерево зависимостей проекта, разрешая проблемы с версиями зависимостей, и устанавливает все пакеты. Однако, если в проекте уже есть файл poetry.lock, то будут использоваться точные версии из этого файла.

Метод может принимать параметры:

  • —remove-untracked: удалит старые пакеты, которые больше не используются в проекте

  • —no-dev: dev пакеты не будут устанавливаться

update

Чтобы обновить версии зависимостей (тем самым обновив файл poetry.lock) достаточно выполнить:

poetry update

Также есть возможность обновить лишь определенные пакеты:

poetry update icecream pygame

Метод может принимать дополнительные параметры:

  • —no-dev : игнорирует обновление dev пакетов

  • —lock : не устанавливает и не обновляет пакеты, а только обновляет файл poetry.lock

add

Чтобы добавить новую библиотеку достаточно выполнить:

poetry add pygame

Можно указывать версию пакета:

 poetry add "pygame>=2"
 poetry add pygame@^2

Можно передать параметры:

  • —dev (-D): установит пакет в качестве dev зависимости

  • —path: путь к пакету (если пакет лежит локально)

  • —lock : не устанавливает зависимости, а только обновляет файл poetry.lock

remove

Чтобы удалить зависимость достаточно выполнить:

poetry remove pygame

Дополнительно можно передать параметры:

  • —dev : удалит пакет из dev зависимостей

show

Чтобы посмотреть зависимости проекта достаточно выполнить:

poetry show

результат poetry show

результат poetry show

результат poetry show

Если необходимо посмотреть информацию о конкретном пакете:

poetry show pygame

результат poetry show pygame

результат poetry show pygame

Посмотреть дерево зависимостей проекта можно при помощи:

poetry show --tree

результат poetry show —tree

результат poetry show --tree

результат poetry show —tree

Также можно передать параметры:

  • —tree: список зависимостей в виде дерева

  • —latest (-l): показать последние версии проектов

  • —outdated (-o): показать последние версии только для устаревших пакетов

run

Чтобы запустить проект достаточно выполнить:

poetry run python <имя python файла>
poetry run python main.py 
poetry run <имя скрипта, описанного в [tool.poetry.scripts]>
poetry run main-run

PyCharm & Poetry

В PyCharm 2021.3 добавили поддержку Poetry. Теперь при создании проекта можно сразу указать poetry основным пакетным менеджером. Перед использованием необходимо установить executable версию poetry (на windows через poweshell):

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -

После чего можно без проблем выбрать Poetry при создании проекта:

Установка poetry как менеджер пакетов в Pycharm

Установка poetry как менеджер пакетов в Pycharm

Далее автоматически будет создан .toml файл:

Структура проекта

При установке пакетов через менеджер PyCharm файл pyproject.toml будет автоматически обновляться сам:

Загрузка пакета через PyCharm

Загрузка пакета через PyCharm
Обновленный .toml

Версии зависимостей

При установке пакета можно указать точную версию проекта, например:

[tool.poetry.dependencies]
pygame = "2.1.0"

Но иногда есть необходимость указать диапазон версий пакета, чтобы получать обновления, в таком случае есть несколько способов указать диапазон:

[tool.poetry.dependencies]
pygame = "^2.1"
pygame = "~2.1"
pygame = "2.1.*"
pygame = "*"

Вот какие диапазоны принимают данные префиксы версий:

Зависимость

Минимальная версия

Максимальная версия

^1.2.3

>=1.2.3

<2.0.0

^1.2

>=1.2.0

<2.0.0

^1

>=1.0.0

<2.0.0

^0.2.3

>=0.0.3

<0.0.4

~1.2.3

>=1.2.3

<1.3.0

~1.2

>=1.2.0

<1.3.0

~1

>=1.0.0

<2.0.0

*

>=0.0.0

1.*

>=1.0.0

<2.0.0

1.2.*

>=1.2.0

<1.3.0

Заключение

Poetry — отличная альтернатива pip. Он позволяет отказаться от requirements.txt в пользу более гибкой настройки проекта. Благодаря poetry можно в любой момент посмотреть информацию о зависимостях любого пакета, гибко настраивать версии и обмениваться poetry.lock файлами с уже заготовленным списком версий пакетов.

Менеджер зависимостей Poetry

Содержание

  • Что умеет Poetry
  • Установка
  • Установка на OSX и Linux

  • Установка на Windows

  • Установка через PIP и PIPX

  • Работа с Poetry
  • Создание проекта

  • Pyproject.toml

  • Установка пакета

  • Удаление пакета

  • Poetry и виртуальное окружение
  • Конфигурация Poetry
  • Список команд
  • Сборка и настройка пакета
  • Poetry и Docker

Poetry — это инструмент для управления зависимостями и сборкой пакетов в Python.

В Poetry представлен полный набор инструментов, которые могут понадобиться для детерминированного управления проектами на Python. В том числе, сборка пакетов, поддержка разных версий языка, тестирование и развертывание проектов.

Все началось с того, что создателю Poetry Себастьену Юстасу потребовался единый инструмент для управления проектами от начала до конца, надежный и интуитивно понятный, который бы мог использоваться и в рамках сообщества. Одного лишь менеджера зависимостей было недостаточно, чтобы управлять запуском тестов, процессом развертывания и всем созависимым окружением. Этот функционал находится за гранью возможностей обычных пакетных менеджеров, таких как Pip или Conda. Так появился Python Poetry.

Что умеет Poetry

Ключевой фичей Poetry Python является полное управление библиотеками, заявленными для вашего проекта, включая их установку, обновление и публикацию.

А еще он может:

  • Создавать и упаковывать проекты с помощью одной команды.
  • Публиковать проекты в PyPI и приватных репозиториях.
  • Проверять состояния зависимостей одной командой.
  • Фиксировать версии зависимостей.
  • Управлять публикацией билдов.
  • Использовать ваши настроенные виртуальные сервера или создавать собственное виртуальное окружение для полной изоляции от вашей системы.

Функционал командной строки расширяется с помощью плагинов, а предустановленные значения при необходимости легко заменяются на свои варианты. В целом, продукт имеет юзер-френдли интерфейс.

Установка

Poetry — кроссплатформенный инструмент. Теоретически он должен одинаково работать в Linux, MacOS и Windows. Системные требования предполагают использование актуальных версий Python, поэтому начиная с версии Poetry 1.2 не поддерживаются Python 2.7 и 3.5, будьте внимательны!

Poetry создает изолированное виртуальное окружение для вашего проекта, инсталлируя все необходимое и разруливая конфликты зависимостей (если они в принципе решаемы).

По умолчанию установка происходит в домашний каталог пользователя, но это можно изменить путем переопределения переменной окружения POETRY_HOME:

POETRY_HOME=/etc/poetry

Установка на OSX и Linux

Этапы установки на Mac и Linux идентичны:

1 Проверить версию Python (в консоли python --version, и если версия Python по умолчанию 2.7, проверить python3 --version).

2 Чтобы установить актуальную версию вводим в консоль:

curl -sSL https://install.python-poetry.org | python3 -

Обратите внимание, процесс установки может занять довольно длительное время.

3 Проверьте работу Poetry командой poetry --version.

Если команда poetry не найдена:

  1. Откройте .bashrc командой nano ~/.bashrc;
  2. Добавьте строку export PATH="$HOME/.local/bin:$PATH" и сохраните файл (Ctrl + x , далее y);
  3. Примените изменения к текущему сеансу командой source ~/.bashrc.

Установка на Windows

Для инсталляции Poetry:

1 Откройте Powershell (Win + X далее i, или найдите PoweShell через поиск).

2 Введите команду:

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

Если вы устанавливали Python через Microsoft Store, замените «py» на «python».

3 Проверьте работу Poetry командой poetry --version.

Если команда poetry не найдена, добавить в переменную среды Path значение %APPDATA%\Python\Scripts. Чтобы изменения вступили в силу, перезайдите в консоль.

Установка через PIP и PIPX

Для данного варианта установки необходимо иметь на борту менеджер пакетов PIP (или PIPX).

Для установки Poetry через PIP выполните команду:

pip install --user poetry

Имейте ввиду, что зависимости пакета Poetry могут вызвать конфликт с уже установленными пакетами в вашей системе.

Команды Pipx для установки, обновления и удаления инструмента:

pipx install poetry
pipx upgrade poetry
pipx uninstall poetry

Pipx поддерживает только версии Python старше 3.6.

Работа с Poetry

Для начала убедимся, что Poetry корректно установлен, введя в терминал команду:

poetry --version

Если в ответ высветится актуальный номер версии, можно приступать к работе.

Перед работой с Poetry проверьте корректность установки командой «poetry —version»

Создание проекта

Создаем пробный проект и присваиваем ему название «project-poetry»:

poetry new project-poetry

Произойдет автоматическое создание папки проекта со следующей структурой:

project-poetry
project-poetry
__init__.py
tests
__init__.py
test_project_poetry.py
pyproject.toml
README.rst

В случае, если необходимо инициализировать Poetry-проект в уже существующем каталоге, перейдите в него и выполните команду:

poetry init

Pyproject.toml

В файле pyproject.toml содержится описание вашего Poetry-проекта — название, описание, используемый репозиторий, зависимости проекта и т.д. С помощью него легко организовать зависимости вашего проекта (pyproject.toml можно назвать преемником устаревшего requirements.txt).

Если вы знакомы с Pipenv, то наверняка заметите, что pyproject.toml очень похож на Pipfile.

После инициализации проекта, содержание файла будет следующим:

[tool.poetry]
name = "project-poetry"
version = "0.1.0"
description = ""
authors = ["Alexander <info@pythonchik.ru>"]

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

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

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

Разберемся, что означает каждая секция:

  • [tool.poetry] — содержит метаданные проекта, которые не относятся к пакетам зависимостей — название, описание, указание авторства и контактную информацию;
  • [tool.poetry.dependencies] — раздел содержит зависимости, необходимые для проекта;
  • [tool.poetry.dev-dependencies] — зависимости разработки (не войдут в сборку проекта, но необходимые для других аспектов — тестирования, документации и т. д.);
  • [build-system] — если вы используете Poetry для управления своим проектом, вы должны ссылаться на него в этом разделе (команды new и init автоматически добавляют информацию в раздел build-system).

📌 О дополнительных секциях файла можете прочитать в официальной документации «The pyproject.toml file».

Все переменные могут задаваться вручную в соответствующие места Pyproject.toml, а также с помощью команды add или добавляться автоматически средствами Poetry.

Установка пакета

Теперь установим новый пакет в наш проект:

poetry add pymongo

Результат выполнения команды установки пакета «poetry add»

После установки пакета, в pyproject.toml появится новая запись:

[tool.poetry.dependencies]
python = "^3.8"
pymongo = "^3.11.2"

💭 Для добавления dev-зависимости (зависимости для разработки) необходимо добавить флаг —dev: poetry add pytest --dev.

Удаление пакета

Для удаления пакета достаточно выполнить команду:

poetry remove pymongo

Для удаления пакета выполните poetry remove «имя_пакета»

При этом запись пакета также удалится из pyproject.toml.

Poetry и виртуальное окружение

По умолчанию, Poetry автоматически создает виртуальное окружение для вашего проекта в cache-директории:

  • для Windows — C:\Users\<username>\AppData\Local\pypoetry\Cache\virtualenvs;
  • для Linux — ~/.cache/pypoetry/virtualenvs;
  • для macOS — ~/Library/Caches/pypoetry/virtualenvs.

В эту директорию будут сохраняться все зависимости для проекта.

Конфигурация Poetry

Конфигурация Poetry настраивается с помощью команды poetry config. После первого запуска команды, Poetry создаст файл конфигурации config.toml, в котором будут храниться все заданные параметры. Находится файл в директории:

  • для Windows — C:\Users\<username>\AppData\Roaming\pypoetry;
  • для Linux — ~/.config/pypoetry;
  • для macOS — ~/Library/Application Support/pypoetry.

Для примера, попробуем настроить Poetry так, чтобы он создавал виртуальное окружение virtualenvs не в cache-директории, а в корневом каталоге проекта. Для этого установим переменной virtualenvs.in-project значение true:

poetry config virtualenvs.in-project true

Чтобы убедиться, что значение успешно установилась, выполним команду:

poetry config virtualenvs.in-project

💭 Чтобы посмотреть все текущие параметры Poetry, используйте команду poetry config --list.

Теперь все зависимости будут устанавливаться в папку .venv в корне вашего проекта.

Если параметр нужно удалить, используйте флаг --unset:

poetry config virtualenvs.in-project --unset

📌 Подробнее о настройке конфигурации Poetry читайте тут.

Список команд

Poetry охватывает множество функций, связанных с управлением конфигурацией и публикацией пакетов:

  • shell — при первом запуске этой команды в каталоге вашего проекта Poetry создает виртуальную среду Python, которая будет связана с проектом. Вместо создания папки, содержащей библиотеки зависимостей, Poetry создает среду на глобальном системном пути. Как только эта виртуальная среда будет создана, ее можно активировать в любое время, запустив poetry shell в каталоге проекта.
  • install — устанавливает зависимости, указанные в pyproject.toml. При первой установке создается файл .lock, который содержит фактические номера версий каждого установленного пакета. Номера версий в .lock приоритетнее, чем находящиеся в pyproject.toml.
  • update — если для пакетов в pyproject.toml существуют более новые версии, они будут установлены, и .lock файл будет обновлен.
  • add — добавление зависимости к pyproject.toml. Пакет устанавливается сразу после применения команды.
  • remove — удаление библиотеки зависимостей.
  • config — пути к текущей виртуальной среде или ее переменные. Передача опции --list вернет текущие значения конфигурации.
  • check — проверяет pyproject.toml на наличие ошибок.
  • show — возвращает вывод всех пакетов, установленных в проекте, включая зависимости зависимостей.
  • run — выполняет сценарий, заданный в разделе tool.poetry.scripts в pyproject.toml.
  • build — собирает исходники и пакеты в архив.
  • publish — публикует вывод предыдущей сборки во внешнем репозитории, например, в PyPi.

Чтобы получить справку из командной строки с полным списком команд, просто вызовите poetry.

Команда «poetry» выведет весь список доступных команд

Сборка и настройка пакета

Чтобы собрать пакет, запускаем команду build.

poetry build

Building project-poetry (0.1.0)
- Building sdist
- Built project-poetry-0.1.0.tar.gz
- Building wheel
- Built project_poetry-0.1.0-py3-none-any.whl

В результате в папке dist будут сформированы пакеты.

Результат сборки пакета находится «dist»

Если мы хотим ограничить сборку определенным типом, можно просто использовать параметр -F.

poetry build -F wheel # or sdist

Чтобы развернуть пакет, нужно настроить репозитории и учетные данные. Для этого применяется команда config.

poetry config repositories.priv https://my.repository

В примере происходит настройка репозитория с именем priv и Url-адресом https://my.repository.

Сохранить учетные данные для этого репозитория также можно с помощью команды config:

poetry config http-basic.priv user password

💭 В приведенной команде user и password соответствуют имени пользователя и паролю для входа в наш частный репозиторий. Обратите внимание, если не указать пароль, то его будет предложено ввести при развертывании пакета.

Закончив настройку, мы можем просто развернуть пакет следующей командой:

poetry publish

Если использован частный репозиторий, следует указать его имя Priv с помощью опции -r.

Poetry и Docker

Использование Poetry для работы с проектом внутри Docker-контейнера иногда сопряжено со сложностями интеграции. Ключевым моментом является отключение VirtualEnv, так как он не нужен в уже изолированном докере:

poetry config virtualenvs.create false

Затем устанавливаются разные наборы зависимостей для переменной среды:

poetry install $(test "$MY_ENV" == production && echo "--no-dev")

Таким образом в $MY_ENV будет контролироваться, какой набор зависимостей следует устанавливать: все (по умолчанию) или продакшн только с --no-dev флагом.


Poetry выходит далеко за рамки стандартного менеджера зависимостей, предлагая такие функции, как создание файлов .lock, создание шаблонов проекта и множество параметров конфигурации, каждый из которых обрабатывается через простой интерфейс командной строки. Если вы не знаете, как чисто и эффективно структурировать свои проекты Python и облегчить управление ими, сделайте себе одолжение и используйте Poetry.

Axie Scholar Utilities Wiki

Logo

Wiki pages for the axie scholar utilities tool.

View the Project on GitHub FerranMarin/axie-scholar-utilities

  • Download ZIP File
  • Download TAR Ball
  • View On GitHub

To run my tool you will need Python3 (the language it is written in) to be installed on your machine. Please do look up how to install it if you get stuck, but here there go a brief explanation on how to do so.

Install Python and Poetry

  1. Go to the Official Python Website and download python3. I personally run Python 3.8.2 in my development machine, but this should work in any 3.8 or higher version. (Maybe any version from 3.6?? – If you decide to go with those versions and have issues, please do report and I will try and fix them)

  2. During installation, just follow the installer instructions but remmember to tick the box on the 1st window that says “Add Python 3.9 to PATH”. If you do no do that, you will need to remmember the full path of where you have Python installed everytime you want to execute it (which is annoying!). By just ticking that you will have a nicer way to call python just using its name “python”.

  3. To avoid issues down the line. Download Visual C++ Build tools from here

  4. Install Poetry. We could use the standard PIP package manager for Python, but I like Poetry more as it fixes the versions down in a better way. To do so you need to open your Powershell and execute:

     (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
    
  5. Now it is time to download my code, there are multiple ways:

    • Use git. This is a method I would only recommend if you are already familiar with git. So you know, clone away this repo ;)
    • Go to releases and download the latest one. Check for the latest one here. Then just Unzip it somewhere in your computer.
  6. Wherever you have my code in your computer you will need to navigate using your Powershell or Terminal to axie-scholar-utilities/source. If you are not comfortable with a terminal, you can just navigate using the file explorer, right click the folder, go to properties and copy the full path or location. It will be something like C:\Users\<myUser>\Documents\axie-scholar-utilitiesv0.1\axie-scholar-utilities\source. With that, just open your power shell and execute (change the path to the folder location in YOUR computer):

     cd C:\Users\<myUser>\Documents\axie-scholar-utilitiesv0.1\axie-scholar-utilities\source
    
  7. Now, given you have Python and Poetry installed execute the following command to install all the extra dependencies you need:

To learn how to run the commands, please follow this link

TREZOR USERS, follow this other LINK

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows перенос строки unix
  • Как обновить драйвер на видеокарту на windows 10 intel
  • Shaxmat skachat kompyuter windows 10
  • Командная строка linux для windows 10
  • Есть ли пасьянс на windows 10