Как собрать и развернуть проект Python с помощью набора тестов - PullRequest
0 голосов
/ 23 декабря 2018

У меня есть простой проект Python для командной строки со следующей структурой

project_main/
    - README.md
    - requirements.txt
    - setup.py
    - project_main/
          - __init__.py
          - controller.py
    - tests/
          - __init__.py
          - test_cases.py
          - test_suite.py

Я запускаю контрольные примеры, используя приведенную ниже команду, и все тесты проходят ОК

python -m unittest

Логика приложения работает отлично.

Теперь мне нужно развернуть этот код в любой системе с помощью одного скрипта «setup.py».Содержимое файла «setup.py» указано ниже

from setuptools import setup, find_packages
import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) 
setup(
    name='sample',
    version='1.0.0',
    description='sample deployment'
    packages=find_packages(),
    test_suite="tests.test_suite.main_suite",
    entry_points={
        'console_scripts': [
            'demoCommand=project_main.controller:main'
        ]
    }
)

Когда я запускаю его с помощью приведенной ниже команды, он запрашивает разрешения администратора для пути установки по умолчанию.Кроме того, даже в случае сбоя test_cases приложение будет установлено.

python3 setup.py install
  1. Я хотел бы знать, как обеспечить установку всех пакетов в файле needs.txt при запуске файла setup.py?
  2. Как остановить установку, если контрольные примеры не пройдены?
  3. Как установить приложение в пользовательскую папку без прав администратора?

РЕДАКТИРОВАТЬ: Добавление частичного релевантного вывода настройки.py команда установки

copying build\lib\tests\__init__.py -> build\bdist.win32\egg\tests
byte-compiling build\bdist.win32\egg\tests\main_test_suite.py to main_test_suite.cpython-37.pyc
...