Подтвердить что ты не робот

Укажите, куда устанавливать зависимости "tests_require" пакета distte/setuptools

Когда я запускаю python setup.py test, зависимости, перечисленные в tests_require в setup.py, загружаются в текущий каталог. Когда я запускаю python setup.py install, зависимости, перечисленные в requires, вместо этого устанавливаются в site-packages.

Как я могу установить эти зависимости tests_require вместо этого в site-packages?

4b9b3361

Ответ 1

Вы не можете указать, где установлены требования к тестированию. Весь смысл параметра tests_require состоит в том, чтобы указать зависимости, которые не требуются для установки пакета, но только для запуска тестов (как вы можете себе представить, многие потребители могут захотеть установить пакет, но не запускать тесты). Если вы хотите, чтобы тестовые требования были включены во время установки, я бы включил их в параметр install_requires. Например:

test_requirements = ['pytest>=2.1', 'dingus']
setup(
    # ...
    tests_require = test_requirements,
    install_requires = [
        # ... (your usual install requirements)
    ] + test_requirements,
)

Насколько я знаю, нет параметра, который вы можете передать, чтобы заставить это поведение без изменения сценария установки.

Ответ 2

Вы можете использовать virtualenv, чтобы избежать этого, и установить дополнительные пакеты в свои места по умолчанию, внутри lib/pythonX/site-packages. Во-первых, вы должны определить свои требования к тестированию как дополнительные функции в setup.py:

setup(
    # ...
    install_requires=[
        # ... (your usual install requirements)
    ],
    extras_require={
        'testing': [
            # ... (your test requirements)
        ]
    },
)

Затем установите пакет с тестовыми требованиями следующим образом:

pip install -e ".[testing]"

Ответ 3

Я использую pip для достижения чего-то подобного. Вместо добавления tests_requires или дополнительных параметров в мой setup.py я создал файл требований к файлам.

Пример моего файла dev_requirements.txt:

pytest
webtest

Затем для его установки выполните:

$ pip install -r dev_requirements.txt