Структура проекта для проектов python

Существуют ли какие-либо инструменты, которые генерируют макет проекта для конкретных проектов на основе python, что очень похоже на то, что maven выполняет с помощью mvn archetype:generate для java-проектов.

    3 Solutions collect form web for “Структура проекта для проектов python”

    Это хорошая новость: вам не нужен какой-либо инструмент. Вы можете организовать свой исходный код любым способом.

    Давайте расскажем, зачем нужны инструменты в java-мире:

    В java вы хотите генерировать каталоги заранее, потому что система пространства имен определяет, что каждый класс должен жить в одном файле в структуре каталогов, которая отражает эту иерархию пакетов. Как следствие, у вас есть глубокая структура папок. Maven обеспечивает дополнительный набор правил для размещения файлов. Вы хотите иметь инструменты для автоматизации этого.

    Во-вторых, разные артефакты требуют использования разных целей и даже дополнительных проектов maven (например, проект уха требует нескольких банок и артефактов войны). Существует так много файлов для создания, что вы хотите иметь инструменты для автоматизации этого.

    Сложность делает такие инструменты, как mvn archetype:generate не только полезную информацию. Это почти незаменимо.

    В python land, у нас просто нет такой сложности на языке.

    Если мой проект невелик, я могу поместить все мои классы и функции в один файл (если это имеет смысл)

    Если мой проект имеет больший размер (LOC или размер команды), имеет смысл группировать файлы .py в модули любым способом, который имеет смысл для вас и ваших сверстников.

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

    Следующие несколько команд bash работают очень хорошо для меня:

     mkdir myproject cd myproject mkdir docs mkdir tests touch tests/__init__.py 

    С python, в отличие от java или c, вам обычно не нужно намного больше, чем это. См. Ответы на соответствующий вопрос. Если вы считаете, что вам нужно больше, вам нужно будет более конкретно о ваших требованиях.

    В Python (как и на любом языке) есть много частей для настройки, если вы хотите, чтобы все они хорошо играли вместе. Документация, тестирование, виртуальные envs, упаковка, …

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

    Несколько проектов, на которые нужно смотреть:

    • Леса для Python
    • Cookiecutter
    • Pyckstart
    Python - лучший язык программирования в мире.