Вы также можете прочитать эту статью о моем блог или на Средняя !
Во-первых, сначала вам нужна поэзия, если у вас уже нет.
Поэзия – это новый стандарт для создания и управления виртуальной средой для вашего проекта Python. Это также инструмент управления зависимостями Python, который работает по-разному, как PIP. Он использует новый стандарт pyproject.toml
Решается авторитетом упаковки Python с Pep-518. Этот файл объединяет все предыдущие файлы конфигурации, которые были необходимы ранее, setup.py
, требования .txt
, setup.cfg
, Манифест. В
et Pipfile
В одном уникальном файле, чтобы управлять им все! ОК, достаточно лорда кольца.
Я советую вам идти вместе с Документация поэзии открыты.
Установите поэзию
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
Не стесняйтесь смотреть здесь Для получения дополнительной информации. Обновление поэзии очень легко Обновление поэзии
Отказ
Создайте пакет, который вы хотите опубликовать на Pypi
Поэзия имеет хорошую команду, которая может создать ваше проектное дерево одновременно Poetry New
Отказ
/├── README.rst # I personnaly change it to .md as I prefer writing in Markdown ├── │ └── __init__.py ├── pyproject.toml └── tests ├── __init__.py └── test_package_name.py
Вам нужно будет добавить вещи до сгенерированного pyproject.toml
Файл, не стесняйтесь проверить Поэзия Документация Чтобы увидеть все варианты.
[tool.poetry] name = "vspoetry" version = "0.1.0" description = "Description of your package" authors = ["MattiooFR"] keywords = ["keyword", "another_keyword"] readme = "README.md" license = "MIT" homepage = "https://github.com/MattiooFR/package_name" repository = "https://github.com/MattiooFR/package_name" include = [ "LICENSE", ] [tool.poetry.dependencies] python = "^3.5" [tool.poetry.dev-dependencies] [tool.poetry.scripts] cli_command_name = 'package_name:function' [build-system] requires = ["poetry>=0.12"] build-backend = "poetry.masonry.api"
Начало файла довольно просто. Давайте сосредоточиться на этих трех части:
- [Tool.poetry.dependonds] : Это то, где вы можете перечислить все зависимости, которые ваш пакет должен работать. Это как старый
требования .txt
файл. Вы можете сделать это вручную, а затем позвоните командуПоэзия устанавливает
Чтобы установить их все для вашего пакета разработки и рабочие цели. Если вы используетеПоэзия Добавить
(эквивалентно IP-PIP Unlight), поэзия добавит ее там для вас.
[Tool.poetry.dev-зависимости] - : Если вам нужны зависимости в области развития, вот куда они идут. Опять же, вы также можете установить их с помощью Поэзия Добавить
–dev (или -D) А поэзия также поставит это в нужное место в вашем
pyproject.tomlфайл.
[Tool.poetry.kcripts] : Этот последний блок очень важен, если вы хотите, чтобы ваш пакет имеет скрипт Callable из терминала.
Кстати, если вам все еще нужно иметь требования .txt
со всеми зависимостями (Если вы используете Heroku, например), вы можете легко иметь его с этой командой:
poetry export -f requirements.txt > requirements.txt
Создайте свою пакет
Когда ваша посылка готова, просто сделай Поэзия построить
Чтобы создать файлы пакетов
❯ poetry build Building package_name (0.1.0) - Building sdist - Built package_name-0.1.0.tar.gz - Building wheel - Built package_name-0.1.0-py3-none-any.whl
Вы можете проверить свой посылку, делая
pip install
Если все работает, поздравляю! Теперь давайте опубликуем его Pypi, чтобы другие могли использовать свой отличный пакет тоже.
Опубликовать свой пакет
Перед публикацией вы должны сначала создать счет на Pypi Отказ Вы также можете зарегистрировать учетную запись на TestPypi Если вы хотите публиковать на репозитории теста, прежде чем пытаться на официальном.
Ваша пакет должна быть построена, поэтому сначала запускается Поэзия сборка
Если вы еще этого не сделали.
Тогда просто запустите Поэзия публикует
И ваша посылка будет публиковать на Pypi:
❯ poetry publish Publishing vspoetry (0.1.0) to PyPI Username: Mattioo Password: - Uploading vspoetry-0.1.0-py3-none-any.whl 100% - Uploading vspoetry-0.1.0.tar.gz 100%
Если вам нужно обновить пакет, просто увеличивайте версию в pyproject.toml
Файл и использовать Поэзия публикует
(После того, как вы построите новый пакет с Поэзия Build
).
После того, как вы сделали это, вы можете установить пакет:
pip installpoetry add # but lets be honest now you use Poetry so you would do this !
Поздравляю с публикацией вашего пакета на Pypi и испытывая простоту использования инструмента, такого как поэта.
Счастливое кодирование!
Конечные ноты
Я на самом деле просто опубликовал свой первый пакет, vspoetry во время написания этого руководства. Это пакет, который добавляет vspoetry
Скрипт команды на моем терминале, и это просто добавьте путь текущей виртуальной среды поэзии проекта на VSCode settings.json.
. Это говорит о VSCode, где захватить проект Python Venv, потому что VSCode не делает этого автоматически.
Оригинал: “https://dev.to/mattioo/publish-a-package-on-pypi-using-poetry-5e5”