Управление пакетами Python со временем развивалось, вводя различные инструменты, служащие разным целям. Понимание нюансов между этими инструментами имеет решающее значение для эффективного распространения и установки программного обеспечения.
Distutils, включенное в стандартную библиотеку Python, предоставляет базовые функции для создания и распространения пакетов Python. . Однако его ограничения, такие как отсутствие управления зависимостями и проблемы со сложной настройкой, привели к появлению альтернативных решений.
Setuptools был создан для устранения недостатков из Диститилс. Он представил улучшенное управление зависимостями, поддержку easy_install и возможность импортировать его функциональность непосредственно в сценарии setup.py. Однако метод «обезьяньего исправления» в setuptools, который изменяет пространство имен Distutils, может привести к проблемам совместимости. Distutils, Setuptools и Distribute. Однако его разработка застопорилась, и в конечном итоге от него отказались.
Distribute возник как форк Setuptools. Он использовал одно и то же пространство имен, в результате чего при импорте Setuptools фактически импортировалась версия, распространяемая с помощью Distribute. Однако
Distribute устарел, так как он был снова объединен с программой Setuptools версии 0.7.Текущая ситуация и рекомендацииПо состоянию на 2022 год ландшафт упаковки Python значительно изменился. , при этом несколько новых инструментов приобретают известность. Однако для новичков рекомендуется использовать
SetuptoolsХотя distutils устарел, а distutils2 заброшен, scikit-build предлагает расширенные возможности сборки для скомпилированных расширений Python. Distlib и упаковка служат важными библиотеками, используемыми инструментами более высокого уровня.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3