2010-10-21 4 views
5

Я прочитал документацию, но я не понимаю.Что именно делают distutils?

Почему я должен использовать distutils для установки модулей python?

Почему я просто не могу сохранить модули в пути python?

ответ

2

Вам не нужно использовать distutils, чтобы ваши собственные модули работали на вашей собственной машине; достаточно сохранить их в вашем пути python.

Когда вы решили опубликовать свои модули для использования другими людьми, distutils предоставляет стандартный способ установки модулей на своих компьютерах. («Dist» в «distutils» означает распределение, как и в распространении вашего программного обеспечения на других.)

5

Вы не должны до использовать distutils. You может установить модули вручную, так же как вы можете вручную скомпилировать библиотеку C++ (скомпилировать каждый файл реализации, затем связать файлы .obj) или установить приложение вручную (скомпилировать, поместить в свой собственный каталог, добавить ярлык для запуска) , Это просто утомительно и подвержено ошибкам, так как каждая повторяющаяся задача выполняется вручную. Кроме того, шаги руководства, которые я перечислял для примеров, довольно оптимистичны - часто вы хотите сделать больше. Например, PyQt добавляет компилятор .ui-to-.py к пути, поэтому вы можете вызвать его через командную строку. Итак, у вас получается стопка работы, которая может быть автоматизирована. Это само по себе является хорошим аргументом.

Кроме того, разработчикам необходимо будет написать инструкции по установке. С distutils и т. Д. Вы должны указать только то, что ваш проект состоит из (и причудливых дополнений тогда и только тогда, когда он вам нужен) - например, вам не нужно указывать его, чтобы поместить все в новую папку в site-packages, потому что это уже это знает.

Так что, в конце концов, для пользователей и.

4

Какие модули python? для установки пакета питона, если они существуют в PyPI вы должны сделать:

pip install <name_of_package> 

, если нет, то вы должны загрузить их .tar.gz или, что так всегда и посмотреть, если вы нашли setup.py и запустить его, как это:

python setup.py install 

или если вы хотите установить его в режиме разработки (вы можете изменить в упаковке и увидеть результат, не устанавливая его снова):

python setup.py develop 

это обычный способ распространения питона пакет (setup.py); и этот setup.py - тот, который вызывает disutils.

, чтобы обобщить это distutils - пакет python, который поможет разработчику создать установщик пакета python, который будет создавать и устанавливать данный пакет, просто выполнив команду setup.py install.

поэтому в основном то, что делает disutils (я буду сидеть только важные вещи):

  • это поиск зависимостей пакета (установить зависимости автоматически).
  • он копирует пакеты в пакеты сайта или просто создает сим-ссылку, если она находится в режиме разработки.
  • вы можете создать яйцо из вашего пакета.
  • он также может протестировать ваш пакет.
  • вы можете использовать его для загрузки своего пакета в pypi.

если вы хотите более подробно посмотреть http://docs.python.org/library/distutils.html

Смежные вопросы