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

Использование SetUpeWools для упаковки вашего приложения Python

В нашем предыдущем посте мы сделали Hello World! приложение, чтобы получить нас начатым с клика. Вы могли бы заметить … Теги с Python, обучение.

В нашем предыдущем посте мы сделали Hello World! приложение, чтобы получить нас начатым с клика. Возможно, вы заметили, что мы должны были сделать Python Hello-world.py запустить его. Так как мы строим приложения CLI, это просто не круто 😅 И это не то, как в любом случае работают приложения CLI. Нам нужно иметь возможность запускать одну команду, что-то вроде:

(venv) $ hello
Hello World!

Вот где seturgools приходит в. SetUpewsools помогает нам связывать наш скрипт, чтобы мы могли установить его и запустить его как приложение ( $ Hello ), а не как скрипт ( $ Python Hello-world.py ).

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

ОК, достаточно Chit-Chat. Давайте получим эту работу. Первое, что нам нужно сделать, это добавить новый файл в наш проект и позвонить в него Setup.py. . Мы также переименоваем Hello-world.py к helloworld.py (Удалите тире). Я объясню, почему это необходимо, когда мы доберемся до Настройка () раздел. Наша структура проекта теперь должна выглядеть так:

hello-world-cli
    |- helloworld.py  # renamed from hello-world.py
    |- setup.py  # new file

В helloworld.py Удалите Если __name__: раздел. Код теперь должен выглядеть так:

import click

@click.command()
def hello():
    click.echo('Hello World!')

В setup.py Файл, добавьте этот код:

from setuptools import setup

setup(
    name='hello-world-cli',
    py_modules=['helloworld'],
    install_requires=[
        'Click',
    ],
    entry_points='''
        [console_scripts]
        hello=helloworld:hello
    ''',
)

Давайте рассмотрим, что делает каждую строку кода.

from setuptools import setup

Нам нужно импортировать Настройка от seturgools Для того, чтобы использовать его.

Далее мы называем Настройка () Функция и пропуск по ряду параметров:

name='hello-world-cli'

Это будет имя нашего приложения CLI.

py_modules=['helloworld']

Это говорит о Настройка () Где найти наш основной модуль для выполнения. Наш основной файл здесь helloworld.py. Итак, мы устанавливаем helloworld как модуль. Мы можем сохранить это так просто, поскольку у нас есть только один файл на данный момент, но, поскольку наше приложение растет, мы заменим py_modules с пакеты = Find_packages () Отказ Больше на этом позже.

install_requires=['Click']

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

entry_points='''
          [console_scripts]
          hello=helloworld:hello
      '''

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

Важно отметить, что если мы поддерживаем наше предыдущее имя ( hello-world.py ) , то настраивать не удалось бы в intry_points. . Это потому, что имена модулей Python не должны иметь тире.

Теперь мы можем установить ваше приложение в нашу среду и запустить его. Чтобы установить его, запустите:

(venv) $ pip install --editable .

Затем выполните созданную команду:

(venv) $ hello
Hello World!

Довольно аккуратно, верно? 😃

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

Оригинал: “https://dev.to/wangonya/using-setuptools-to-package-your-python-app-18p4”