Документация Python неофициальный перевод

index.md

86 строк · 12.0 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.4/distributing/index.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Распространение модулей Python89| Эл. почта: | [distutils-sig@python.org](https://python-all.ru/3.4/distributing/index.html) |10| --- | --- |1112Будучи популярным проектом с открытым исходным кодом, Python имеет активное сообщество разработчиков и пользователей, которые также предоставляют своё программное обеспечение другим разработчикам Python для использования на условиях открытых лицензий.1314Это позволяет пользователям Python эффективно обмениваться опытом и сотрудничать, извлекая пользу из решений, которые другие уже создали для общих (а иногда и редких!) проблем, а также потенциально внося свои собственные решения в общий пул.1516Это руководство описывает часть процесса, связанную с распространением. За руководством по установке других проектов Python обратитесь к [*руководству по установке*](https://python-all.ru/3.4/installing/index.html#installing-index).1718> **Примечание**19>20> Корпоративным и другим институциональным пользователям: следует знать, что многие организации имеют собственную политику в отношении использования и участия в программном обеспечении с открытым исходным кодом. Учитывайте такую политику при использовании инструментов распространения и установки, предоставляемых с Python.2122## Ключевые термины2324- [Python Packaging Index](https://python-all.ru/3.4/distributing/index.html) – это общедоступный репозиторий пакетов с открытым исходным кодом, доступных для использования другими пользователями Python25- [Python Packaging Authority](https://python-all.ru/3.4/distributing/index.html) является группой разработчиков и авторов документации, отвечающих за поддержку и развитие стандартных инструментов упаковки, а также связанных метаданных и стандартов форматов файлов. Они поддерживают множество инструментов, документации и трекеров задач как на [GitHub](https://python-all.ru/3.4/distributing/index.html) так и на [BitBucket](https://python-all.ru/3.4/distributing/index.html).26- [`distutils`](https://python-all.ru/3.4/library/distutils.html#module-distutils) – это оригинальная система сборки и распространения, впервые добавленная в стандартную библиотеку Python в 1998 году. Хотя прямое использование [`distutils`](https://python-all.ru/3.4/library/distutils.html#module-distutils) постепенно прекращается, она заложила основу для текущей инфраструктуры упаковки и распространения, и не только остаётся частью стандартной библиотеки, но и её имя продолжает жить в других формах (например, в названии списка рассылки, используемого для координации разработки стандартов упаковки Python).27- [setuptools](https://python-all.ru/3.4/distributing/index.html) – это (в значительной степени) замена [`distutils`](https://python-all.ru/3.4/library/distutils.html#module-distutils), впервые опубликованная в 2004 году. Её самым заметным дополнением по сравнению с неизменёнными инструментами [`distutils`](https://python-all.ru/3.4/library/distutils.html#module-distutils) была возможность объявлять зависимости от других пакетов. В настоящее время она рекомендуется как более регулярно обновляемая альтернатива [`distutils`](https://python-all.ru/3.4/library/distutils.html#module-distutils), обеспечивающая последовательную поддержку более современных стандартов упаковки в широком диапазоне версий Python.28- [wheel](https://python-all.ru/3.4/distributing/index.html) (в данном контексте) – это проект, который добавляет команду `bdist_wheel` к [`distutils`](https://python-all.ru/3.4/library/distutils.html#module-distutils)/[setuptools](https://python-all.ru/3.4/distributing/index.html). Он создаёт кроссплатформенный формат двоичной упаковки (называемый «wheels» или «wheel-файлы», определённый в [**PEP 427**](https://python-all.ru/3.4/distributing/index.html)), который позволяет устанавливать библиотеки Python, даже содержащие двоичные расширения, без необходимости локальной сборки.2930## Лицензирование открытого кода и сотрудничество3132В большинстве стран мира программное обеспечение автоматически защищено авторским правом. Это означает, что другим разработчикам требуется явное разрешение на копирование, использование, изменение и распространение программного обеспечения.3334Лицензирование с открытым исходным кодом – это способ явного предоставления такого разрешения относительно последовательным образом, позволяя разработчикам эффективно делиться и сотрудничать, делая общие решения различных проблем свободно доступными. Это позволяет многим разработчикам уделять больше времени проблемам, которые относительно уникальны для их конкретной ситуации.3536Инструменты распространения, поставляемые с Python, разработаны так, чтобы разработчикам было достаточно просто вносить свой собственный вклад в этот общий пул программного обеспечения, если они того пожелают.3738Те же инструменты распространения также могут использоваться для распространения программного обеспечения внутри организации, независимо от того, опубликовано ли это программное обеспечение как открытое или нет.3940## Установка инструментов4142Стандартная библиотека не включает инструменты сборки, поддерживающие современные стандарты упаковки Python, поскольку основная команда разработчиков сочла важным иметь стандартные инструменты, которые работают последовательно даже на старых версиях Python.4344Современные рекомендуемые инструменты сборки и распространения можно установить, вызвав модуль `pip` в командной строке:4546```python47python -m pip install setuptools wheel twine48```4950> **Примечание**51>52> Для пользователей POSIX (включая Mac OS X и Linux) эти инструкции предполагают использование [*виртуального окружения*](https://python-all.ru/3.4/glossary.html#term-virtual-environment).53>54> Для пользователей Windows эти инструкции предполагают, что при установке Python был выбран параметр настройки системной переменной среды PATH.5556Руководство пользователя по упаковке Python содержит более подробную информацию о [рекомендуемых в настоящее время инструментах](https://python-all.ru/3.4/distributing/index.html).5758## Чтение руководства5960Python Packaging User Guide охватывает различные ключевые шаги и элементы, связанные с созданием проекта:6162- [Структура проекта](https://python-all.ru/3.4/distributing/index.html)63- [Сборка и упаковка проекта](https://python-all.ru/3.4/distributing/index.html)64- [Загрузка проекта в Python Packaging Index](https://python-all.ru/3.4/distributing/index.html)6566## Как мне...?6768Это краткие ответы или ссылки для некоторых распространённых задач.6970### ... выбрать имя для моего проекта?7172Это непростая тема, но вот несколько советов:7374- следует проверить Python Packaging Index, не занято ли уже это имя75- проверить популярные хостинговые сайты, такие как GitHub, BitBucket и т.д., чтобы определить, не существует ли уже проект с таким именем76- Проверьте, что выдаёт поиск по выбранному имени77- Избегайте особенно распространённых слов, особенно многозначных, так как это может затруднить пользователям поиск вашего программного обеспечения при поиске7879### ... создавать и распространять двоичные расширения?8081Это довольно сложная тема, и существует множество альтернатив в зависимости от конкретных целей. Подробнее см. в Python Packaging User Guide.8283> **См. также**84>85> [Руководство пользователя по упаковке Python: Бинарные расширения](https://python-all.ru/3.4/distributing/index.html)86