Рубрики
Без рубрики

2 Критические инструменты упаковки Python

На прошлой неделе встреча Python Frederick, я разговаривал на упаковке Python. Моя цель состояла в том, чтобы покрыть, как … Теги с Python, упаковкой, токс, шпагатом.

На прошлой неделе Python Frederick Встреча, я разговаривал на упаковке Python. Моя цель состояла в том, чтобы покрыть, как работает упаковка и как построить базовый пакет. В течение разговора мы использовали пару инструментов, которые, как я думаю, имеет решающее значение для выпуска пакета Python в Pypi. Я опишу эти инструменты и почему я думаю, что они критически .

токс

Tox это фантастический инструмент для Тестирование упаковки Отказ С Tox Команда, разработчик может создать пакет, установить его в виртуальную среду для определенной версии Python и запустить пакет через свой тестовый набор.

Краткая версия Whing Tox выглядит как:

$ tox -e py36

Эта команда запускает тестовый люкс пакета против Python 3.6. Я люблю это, когда команды это элегантны. Чтобы сделать это возможным, разработчик должен сказать TOX, как запустить тестовый набор. Эта конфигурация выполняется в Tox.ini файл. Минимальный файл может выглядеть так:

[tox]
envlist = py36

[testenv]
commands = python -m unittest discover \
    -s {envsitepackagesdir}/whirlygig

В этом примере вы бы изменили Whirlygig на имя вашего проекта. Этого достаточно информации для информирования TOX о том, как запустить ваш тестовый люкс.

Я обнаруживаю, что использование TOX спасает меня от упорных, чтобы поймать упаковочные ошибки (вы знаете, что существуют?) И вообще потрясающе для тестирования против нескольких версий Python.

шпагат

шпагат является критическим инструментом в панели инструментов Packager по одной причине: Это давайте загрузим на Pypi через HTTPS Отказ Напротив, Python Setup.py Загрузить Использует небезопасный HTTP для многих версий Python.

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

python setup.py sdist bdist_wheel создает Dist каталог с пакетами для загрузки. Вы можете выполнить вашу загрузку с помощью:

$ twine upload dist/*

Резюме

Экосистема Python имеет отличную документацию о упаковке на Руководство пользователя Python упаковка Отказ Этот пост должен был быть нежным введением в пару очень ценных инструментов, когда вы хотите работать с пакетами.

(Да, я знаю, что «пакет» технически называется «распределением» в правильном Python Lingo, но я использовал термин, так как он более широко принимается среди многих языков программирования.)

Эта статья впервые появилась на mattlayman.com Отказ

Оригинал: “https://dev.to/mblayman/2-critical-python-packaging-tools-blg”