#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,
...)