Как контролировать, какие пакеты устанавливаются с помощью setup develop или setup install?

#python #setup.py

#python #setup.py

Вопрос:

Создание в дистрибутиве python. Я хочу, чтобы мои модульные тесты устанавливались для разработчиков, но не для конечных пользователей. В моем setup.py у меня есть это:

 packages=['mypackage', 'test']
  

Вот что я хочу, чтобы произошло:

 python setup.py develop
--> Install 'mypackage' and 'test'
  

и

 pip install
--> Install 'mypackage', but NOT 'test'
  

Как я могу контролировать, какие пакеты устанавливаются в этих разных сценариях?

Комментарии:

1. pip install -r requirements.txt для производства и pip install requirements-dev.txt для разработки

Ответ №1:

Решается с помощью этого кода в setup.py:

 install_unit_tests = False
for a in sys.argv:
    if a == "test" or a == "develop":
        install_unit_tests = True

if install_unit_tests:
    packages_to_install = ['mypackage','test']
else:
    packages_to_install = ['mypackage']

setup(
    ...
    packages=packages_to_install,
    ...)