Существует более двух различных типов пакетов Python (дистрибутив).Эта команда перечисляет много подкоманд:
$ python setup.py --help-commands
Обратите внимание на различные типы bdist .
яйцо было новым типом пакета, введеннымsetuptools, но позже принятые стандартной библиотекой.Он предназначен для монолитного монтажа на sys.path
.Это отличается от пакета sdist , который предназначен для запуска setup.py install
, копирования каждого файла на место и, возможно, выполнения других действий (сборка модулей расширения, запуск дополнительного произвольного кода Python, включенного в пакет).
яйца в настоящее время в значительной степени устарели.Предпочтительным форматом упаковки теперь является формат «колеса».
Независимо от того, создаете ли вы sdist или яйцо (или колесо), не зависит от того, сможете ли вы объявить, какие зависимости у пакета (для загрузки)автоматически во время установки PyPI).Все, что необходимо для работы этой функции зависимостей, это чтобы вы объявили зависимости, используя дополнительные API, предоставляемые distribate (преемник setuptools) или distutils2 (преемник distutils - в противном случаев текущей версии Python 3.x, известной как package .
https://packaging.python.org/ - хороший ресурс для получения дополнительной информации об упаковке.Он охватывает некоторые особенности объявления зависимостей (например, install_requires , но не extras_require
afaict).