2015-11-05 1 views
2

Я заметил, что некоторые проекты python включают setuptools в список необходимых модулей. Мой код устанавливается и отлично работает без него.Любая причина setup.py install_requires должна включать setuptools?

Возможно, я ошибаюсь, но я думаю, что цель списка install_requires - указать модули, необходимые для выполнения после установки, а не во время установки.

Есть ли специальный прецедент, где имеет смысл установить setuptools?

install_requires=[ 
    'setuptools', 
    'requests', 
], 

ответ

2

Если ваш проект использует pkg_resources, например, для загрузки ресурсов из entry points, это время выполнения в зависимости от setuptools (который включает в себя pkg_resources пакет).

Поскольку Джанго setup.py не включает setuptools как требование, но делает использование pkg_resouces, это can lead to confusion.

+0

Благодарим вас за ответ. Если при правильном понимании есть ситуации, когда setuptools доступен во время установки, но недоступен в среде исполнения и поэтому должен быть установлен в среду выполнения. – Steve

+0

Если дистрибутив установлен с [колеса] (https://wheel.readthedocs.org/en/latest/) или яйца, setuptools даже не требуется во время установки. Но, конечно, если setuptools удаляется после установки пакета в зависимости от него, 'install_requires' не сможет ничего с этим поделать. –