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

Руководство по упаковке Python

Длинное оповещение Вау, это приятно. Наконец -то я публикую свой первый пост разработчика, и это определенно чувствует … Tagged с помощью Python, упаковки, PYPI, учебного пособия.

Длинное оповещение

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

Теперь, достаточно обо мне. Погрузитесь прямо в тему.

Что такого особенного в открытом исходном коде? Возможности? НЕТ. Применение? НЕТ. (Может быть, но не главное). Ответ Вклад . Что делает открытый исходный код настолько великим, что любой может внести свой вклад в сообщество с открытым исходным кодом. Когда один разработчик может создать магию, представьте, что может произойти, когда все лучше всего объединится, чтобы создать магию. Таким образом, этот пост станет обширным руководством по упаковке кода Python и распространения его PYPI – официальное Py thon P Аккаж я ndex. Когда я впервые начал научиться кодировать в Python, я нашел стремление внести свой вклад в сообщество с открытым исходным кодом. Чувство желания вернуть его в сообщество. Все сделали и сказали, это чувство было отличным моментом для начала – но было ли этого достаточно? Определенно нет. У меня были большие трудности в поиске подходящего гида, который научил меня упаковать, из самых оснований. Без обид на другие гиды, которые оказались очень полезными, но мне пришлось собирать знания из различных источников, и я наконец научился, как это сделать. Это то, что заставило меня написать этот пост – так что никто никогда не должен искать несколько гидов и чувствовать себя разочарованными/потерянными.

Теперь начиная с A пока Z процесса упаковки. Что такое пакет? – Пакет – это в основном файл кода Python. Файл “.py”. Он называется пакетом, потому что мы создаем папку и помещаем в него файл .py, и, таким образом, папка называется пакетом. Супер просто, верно? Анкет Да, остальное будет легко выполнить.

Что такое pypi? – Полная форма PYPI – это индекс упаковки Python. Когда мы устанавливаем пакет/библиотеку с помощью команды PIP Install, PYPI – это репозиторий, который поставляет пакет. Короче говоря, это огромная библиотека, в которой размещаются все пакеты, предоставленные удивительными разработчиками, такими как все вы, и когда кто -то устанавливает, используя команду PIP установить Вы можете просто позвонить в «Импорт PackageName» в своем коде и использовать его.

Файл кода единственный файл, который необходим? – Нет. Файл кода, очевидно, является наиболее важным файлом, но есть и другие подтверждающие файлы, и я собираюсь наметить их после этого.

Теперь каждый пакет требует ниже файлов как минимум:

  1. Файл кода .py Python
  2. Файл кода setup.py
  3. Файл кода __init__.py
  4. Файл setup.cfg
  5. Файл readme.md

Необязательно: (но очень хорошо следовать дисциплинированному способу загрузки)

  • Файл лицензии

Теперь давайте научимся упаковать файл Python вместе. Начните с открытия вашего любимого редактора: либо VSCODE, либо возвышенное текст или атом. Мой vscode:).

Папка и файл .py

Во -первых, самое важное – создать папку, которая точно названа так, как вы хотите назвать свой пакет. Допустим, вы хотите упаковать код Hello-World;

  • Начните с создания папки под названием «Helloworld». ПРИМЕЧАНИЕ: Прежде чем назвать свой пакет, найдите его на https: pypi.org и убедитесь, что он еще не доступен, и выберите уникальное имя
  • Затем введите папку и создайте файл .py как helloworld.py

Вот как должен выглядеть файл кода; (Примечание: файлы должны иметь класс и метод)

class Helloworld(): #This needs to be the same as your package name
    def __init__(self): #this is the constructor for the class.
        return None
    def sayHello(self): #this is the method that you would call
        return "Hello World"
    Указывания в коде Python:
  • Убедитесь, что у кода нет печатных операторов, кроме того, что вы хотите «вернуть» пользователю (см. Что я там сделал? Используйте оператор возврата, чтобы распечатать окончательный вывод пользователю)
  • У вас должен быть класс и метод внутри, чтобы позвонить
  • Используйте комментарии или Docstrings, если это необходимо

Файл setup.py

Теперь файл кода (самая важная часть закончилась). Следующий файл – файл setup.py, и вот код для этого (на основе примера Hello World)

import io
import os
import sys
import setuptools
from setuptools import find_packages, setup, Command

with open("README.md", "r") as fh:
    long_description = fh.read()

setup(
  name = 'Helloworld', 
  packages = ['Helloworld'], 
  version = '1.0',
  license='MIT',
  description = "Python library that says Hello World when called.", 
  long_description=long_description,
  long_description_content_type="text/markdown",
  author = 'XXX',
  author_email = 'xxx@gmail.com',
  url = 'https://github.com/xxx/Helloworld', 
  py_modules=['mypackage'],
  entry_points={'console_scripts': ['mycli=mymodule:cli'],},
  keywords = ['Simple'],
  classifiers=[
    'Development Status :: 4 - Beta',
    'Intended Audience :: Developers',
    'Topic :: Software Development :: Build Tools',
    'License :: OSI Approved :: MIT License',
    'Programming Language :: Python :: 3.4',  
    'Programming Language :: Python :: 3.5',
    'Programming Language :: Python :: 3.6'
  ],
  python_requires='>=3.1',
)

Объяснение:

  • Имя Определяет файл кода/имя папки
  • Пакет указывает так же, как выше в квадратных скобках
  • Версия указывает версию, с которой вы хотите начать; Хорошо начать с v1.0
  • Описание – это описание вашей библиотеки и то, что она делает
  • Длинное описание указывает его, чтобы открыть длинное описание (обычно readme)
  • Длинное описание тип контента указывает его для использования файла readme.md
  • Автор – Да, это ты! Посмотрите на себя – теперь вы автор;)
  • Электронная почта автора – дайте электронное письмо, чтобы люди могли обратиться к вам за любыми сомнениями
  • URL – добрается до этого позже, но имя пользователя GitHub с последующим именем вашего пакета
  • Pymodules – оставьте это как mypackage
  • Точки входа – оставьте это так, как это является
  • Ключевые слова – укажите в нескольких словах, которые описывают ваш пакет
  • классификаторы-хорошо начать статус развития как 3-альфа или 4-бета, а затем масштабировать его как Ваша библиотека растет
  • Вы можете оставить все остальное, как это, если только ваша версия языка программирования не отличается, а лицензия отличается
  • Python_Requires – Наконец, вы указываете здесь версию, на которой он построен, и версию, на которой он будет работать (то же самое) Использовать.x

Файл __init__.py

В настоящее время, В следующем файле – __init__.py файл

Просто импортируйте имя своего класса в этот файл, и это все.

from Helloworld.Helloworld import Helloworld

Это означает, что из foldername.filename import classnam

Файл setup.cfg

Далее это файл setup.cfg. Создайте пустой файл в той же папке и сохраните его в качестве setup.cfg (где CFG указывает конфигурацию). Вот что будет содержать Setup.cfg:

[metadata]
description-file = README.md

Сделанный!

Теперь мы почти там. Далее находится файл readme.md.

Файл readme.md

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

Если вы решите создать его самостоятельно, создайте пустой файл в своем редакторе и назовите его Readme.md (MD относится к формату Markdown)

Вы можете просто ввести:

#Helloworld
Python library that says Hello World when called

Это может быть так же просто, как и есть. Но я бы посоветовал включить теги HTML и добавить параметры установки, синтаксис и пример кода того, как использовать. Ну, кто -нибудь знал, как использовать helloWorld:) Но я уверен, что ваши пакеты будут немного сложнее, чем просто Helloworld.

Чтобы использовать его с веб -сайта, вы можете обратиться к https://www.makeareadme.com/ который имеет предопределенные шаблоны и т. Д.

Файл лицензии.txt

Наконец, необязательный файл License.txt, который является просто простым текстовым файлом. Вы можете использовать различные лицензии с открытым исходным кодом, такие как MIT, GNU и т. Д. Я лично предпочитаю идти с MIT. Но вы можете выбрать его в зависимости от ваших потребностей в – https://choosealicense.com/ Анкет

Получив URL -адрес github, откройте репозиторий GitHub с точно таким же именем, что и имя пакета, и загрузите все файлы в него; Скопируйте все файлы в него и упомяните URL -адрес репозитория в поле URL setup.py. Теперь вы закончили со всеми файлами.

Теперь у вас есть все 6 файлов, а именно:

setup.py Readme.md Helloworld (папка) - Helloworld.py (Внутри папки) — setup.cfg (Внутри папки)Лицензия.txt (Внутри папки)

ПРИМЕЧАНИЕ:

  • Helloworld.py, setup.cfg, license.txt & __init__.py должен находиться в папке Helloworld.
  • setup.py и readme.md должен быть за пределами папки (основная родительская папка).

Настройка учетной записи PYPI

Быстрое примечание, прежде чем мы загрузим пакет, вам нужно иметь учетную запись PYPI.

  • Перейти на https://pypi.org
  • Завести аккаунт
  • Помните имя пользователя и пароль своей учетной записи, когда вы создаете, потому что нам понадобятся они, чтобы загрузить пакет
  • Также установите Twine (утилита Python), который поможет нам загрузить наш пакет
  • Установите шпагат с помощью PIP установить шпагат

Время загрузить свой пакет !!!!

Процесс загрузки

  1. Сначала откройте свою командную строку и перейдите в основную папку, в которой есть setup.py, файл readme и папку с помощью папки с использованием CD FolderPath
  2. Введите setup.py sdist
  3. Вы получите сообщение, в котором говорилось, что распространение было создано, и все под именем пакета было удалено !! (Не волнуйтесь; вы в правильном направлении
  4. Теперь ваше распределение было бы создано в родительской папке под папкой под названием «Dist» как «helloworld-1.0.tar.gz»
  5. Вернуться к командной строке и введите Загрузка шпагата dist/helloworld-1.0.tar.gz и нажмите Enter
  6. Вас будут попросить об этом имя пользователя PYPI и пароль
  7. Введите их, аааааааааааа и ты ВЫПОЛНЕНО
  8. Ваш пакет теперь официально доступен В ИНТЕРНЕТЕ

Хлопать для себя:) Ты заслуживаешь это!

Чтобы проверить, работает ли ваш пакет, откройте пустой файл Python и введите Импорт Helloworld и запустите файл. Нет ошибок? Вы сделали это! Поздравляю!

Спасибо, что послушали! Теперь иди и внести свой вклад в общество с открытым исходным кодом !!!!

Дайте мне знать ваш отзыв:)

Оригинал: “https://dev.to/shyams1993/python-packaging-guide-25i6”