2013-03-04 2 views
2

Я немного новичок в Python и даже новичок в distutils.Зачем стоит setup.py в моем дистрибутиве?

Я хотел создать дистрибутив моей программы для других пользователей в своем офисе, поэтому я использовал настройку из distutils.core. Я создал свою структуру каталогов, создал файл manifest.in и файл setup.py. Казалось, все пошло так, как планировалось. В результате у меня есть .zip-файл, содержащий структуру каталогов, которую я намеревался.

Файл maifest не содержался в .zip-файле (я предполагаю, что это было необходимо только distutils), но файл setup.py остался в .zip-файле. Почему это? Требуется ли setup.py конечному пользователю?

Спасибо,

-RS

ответ

2

В обычном случае, пользователи устанавливают приложение, запустив python setup.py install, или что-то, что эффективно делает то же самое (как pip install foo).

Конечно, есть случаи, когда они не нуждаются в setup.py-например, поскольку они устанавливают предварительно упакованное двоичное яйцо или установщик Windows или что-то еще, но большинство пакетов должно работать для обычного случая. Таким образом, команды по умолчанию включают в себя это. В документации, Specifying the files to distribute говорит:

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

... setup.py (или все, что вы назвали своим сценарием настройки) ...

+0

Спасибо. Я не понял, как конечные пользователи использовали setup.py. Это довольно ясно ответит на мой вопрос. – RLS