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

Я работаю на небольшом предприятии, где количество конечных пользователей и вкладов для определенного набора пакетов будет не более 5 навсегда (это гарантировано). В течение последних 3 месяцев мы только что провели все наши исследования и разработки на общем диске Windows, используя anaconda и локальные репозитории git для каждого проекта. Как вы можете себе представить, полученный исходный код стал чем-то вроде беспорядка: код каждого человека указывает на конкретный пакет в чужой папке, а зависимости постоянно нарушаются.

Мы наконец-то получили репозиторий github, и большая часть нашего кода стала стабильной в работе. Я хочу распространить этот код в виде tarball и заставить каждого человека собирать из исходного кода disutils в общей среде anaconda. Полный пакет будет организован по каждому подпакету и будет содержать файлы как Python, так и Python. В конечном итоге это будет выглядеть примерно так

|tools
    |setup.py (created with disutils)
    | __init__.py
    |package A (dir)
        |__init__.py
        |module A1.py
        |module A2.pyx

    ....

    |package B (dir)
        |__init__.py
        |package B1.py
        |package B2.pyx

Я собираюсь поместить пакет "tools" в репозиторий github. Каждый раз, когда происходят важные изменения в пакете инструментов, мы извлекаем из основной ветки и перезапускаем файл setup.py, чтобы обновлять их локальный пакет инструментов. Кроме того, мы все будем использовать общую среду анаконды, чтобы зависимости от внешних пакетов не нарушали установку пакета инструментов.

Является ли это правильным способом распространения рабочего кода среди небольшого числа конечных пользователей? Я пришел из исследования, а не из области разработки программного обеспечения, и я действительно не знаю, как работает распространение программного обеспечения. Вызывает ли каждый перекомпиляцию из исходного кода каждый раз, когда мы обновляем пакет «tools» излишним? Традиционно, когда я устанавливаю с помощью conda / pip, я могу просто сказать что-то вроде «pip install mypackage --upgrade». Есть ли подобная процедура, которую мы можем использовать здесь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...