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

Часть 2 Базовый пакет

В предыдущей статье мы говорили о каких пакетах, и пока это было хорошее введение. Я бы … Теги с Python, Pip, CookieCutter.

Разработка пакетов Python (5 частей серии)

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

Структура Barebones

Чтобы создать пакет, нам нужна структура папки, для одного проекта .py Пакет технически не нужен PY-модули док . Однако большинство людей, вероятно, будут иметь несколько пакетов в их проекте, чтобы все было организовано. (Примечание: в более поздней статье я буду говорить о CookieCutter и шаблоны)

├── README.md
├── awesome_package
│   ├── __init__.py
│   └── hello_world.py
└── setup.py

Вот ссылка на вышеуказанную структуру упаковки

Настраивать

Файл/etup.py является наиболее важным файлом для пакета. Он содержит всю информацию, необходимую ваш пакет. Мы обсудим это более подробно в более поздней статье. На данный момент ниже будет достаточно, чтобы присоединиться к нам.

from setuptools import setup, find_packages

setup(
    name='my_tool',
    version='0.0.1',
    packages=find_packages(exclude=['contrib', 'docs', 'tests*']),
)

Давайте добавим код Python

Мы не будем сойти с ума, мы добавим одну функцию к нашему файлу HELLO_WORLD

def say_hello(name):
    print("hello %s" % (name))

Добавление нашей функции в init

from .hello_world import *

Мы импортируем все функции, найденные в Hello_World, в нашем случае только один. Хорошо, мы готовы проверить наш пакет.

Установите как пакет разработки

Несколько вещей, которые нужно принять к сведению. Установка пакета с аргументом разработки позволяет нам внести изменения, без необходимости сохранять установку или обновление через PIP --UPGRADE команда. Что может получить Тедиус, если вы работаете над то, что занимает дни или недели, или дольше.

Еще одна вещь, которую стоит упомянуть, это то, что если вы вносите изменения, и вы уже запустили Python в терминале, вам придется выйти () и повторно запустить Python. Не спрашивайте меня, как я знаю это.

Внутри пакета установите его, запустив следующую команду.

python3 setup.py develop

Убедитесь, что пакет установлен.

pip list
...
my-tool 0.0.1 /Users/terminalX/git/A_Basic_Package
...

Проверить наш пакет

Запустите Python в терминале и протестируйте наш пакет, как показано ниже. Слишком легко, приятель. Как говорят австралийцы.

>>> from awesome_package import *
>>> say_hello("fer")
hello fer

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

pip3 uninstall my_tool
pip3 install git+https://github.com/kodaman2/A_Basic_Package.git

Убедитесь, что вы все еще можете использовать say_hello () функция.

Совет: Если вы хотите знать, какие методы доступны в модуле:

>>> dir(hello_world)
[' __builtins__', ' __cached__', ' __doc__', ' __file__', ' __loader__', ' __name__', ' __package__', ' __spec__', 'say_hello']

Следующая статья

Убедитесь, что вы играете с пакетом, добавьте больше функций, больше пакетов и посмотреть, что происходит. Помните, что если вы решите разыграть еще с помощью этого пакета, удалите его, и установите, как объяснено в разделе «Разработка».

В следующей статье мы создадим более передовый пример, при этом изучаю, как эффективно создавать пакет с помощью других инструментов Python. Спасибо за чтение.

Разработка пакетов Python (5 частей серии)

Оригинал: “https://dev.to/thefern/part-2-a-basic-package-bic”