Что именно делает distutils? - PullRequest
       4

Что именно делает distutils?

5 голосов
/ 21 октября 2010

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

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

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

Ответы [ 3 ]

5 голосов
/ 22 октября 2010

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

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

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

4 голосов
/ 22 октября 2010

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

 pip install <name_of_package> 

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

  python setup.py install 

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

  python setup.py develop

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

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

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

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

, если вы хотите получить более подробную информацию, см. http://docs.python.org/library/distutils.html

2 голосов
/ 22 октября 2010

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

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

...