Подготовка проекта включает в себя ряд действий, направленных на настройку инфраструктуры и кода для обеспечения качественной и надежной разработки. Это важный этап в жизненном цикле проекта, который помогает избежать ошибок и сложностей на последующих этапах.
Все необходимые шаги, которые необходимо выполнить перед тем как приступить к модульному кодированию проекта, подробно со скриншотами кода, представлены в следующих разделах.
Первым делом в разработке любого проекта должно стать создание его «дома» – репозитория на GitHub. Эта платформа позволит нам не только хранить и версионировать код, но и настроить процесс непрерывной интеграции.
Мы задаем имя репозитория, совпадающее с названием нашего будущего проекта. Это поможет коллегам сразу понять его суть и назначение. Далее определяемся с уровнем доступа – сделать репозиторий публичным или приватным.
Как только репозиторий создан, добавляем в него файл README.md – это своего рода «паспорт» проекта с описанием его функционала и инструкциями по запуску.
Также важный шаг – добавление .gitignore и указание там Python как языка разработки. Это позволит исключить лишние промежуточные файлы из репозитория.
Завершающим аккордом станет выбор лицензии. Для открытых проектов отлично подходит лаконичная и ненавязчивая MIT – она позволит любому использовать код, указав авторство разработчиков.
Теперь у нашего проекта есть дом с просторными кодовыми хранилищами, настроен охранник в лице .gitignore и определены правила проживания благодаря выбранной лицензии.
Можно приступать к активной фазе – наполнению репозитория полезным кодом!
Получив доступ к репозиторию, созданному на GitHub, мы можем приступить к его клонированию – процессу создания полной локальной копии удаленного репозитория. Это позволит нам в дальнейшем работать с кодом на своем компьютере с последующей синхронизацией изменений обратно в удаленный репозиторий.
Для клонирования репозитория необходимо выполнить следующие действия:
Шаг1: перейти на страницу созданного репозитория на GitHub.
Шаг2: нажать на кнопку "Code", после чего скопировать предложенную ссылку в формате HTTPS. Эта ссылка указывает на расположение репозитория.
Шаг3: в директории на локальном компьютере, куда необходимо поместить клонируемый репозиторий, открыть окно терминала, набрав команду cmd в адресной строке.
Шаг4: выполнить команду git clone <ссылка>. Git использует указанную ссылку для скачивания всех файлов и данных репозитория.
После завершения клонирования в выбранной директории появится полная копия репозитория со всеми файлами и версиями на вашем диске.
Теперь репозиторий готов к использованию в локальной разработке. Все изменения можно будет синхронизировать обратно в удаленный репозиторий с помощью команд git push и git pull.
Создали директорию project_1 на рабочем столе и открыли терминал в этой же директории
Клонируем ранее созданный репозиторий на GitHub на локальный компьютер. В результате копирования на компьютере создаётся новая папка с названием репозитория.
Запускаем VSC (Visual studio code) среды разработки – для последующей работы над нашим проектом
Открыв VSC, в проводнике мы видим все наши файлы, которые мы клонировали с репозитория. Теперь приступаем к шагу 2: созданию скрипта на Python, содержащего будущую структуру папок и файлов нашего проекта.
Краткое пояснение кода:
Данный код является простым и эффективным способом создания списка папок и файлов, связанных с проектом, для их последующего автоматического создания.
Он легко читается и понимается, и может быть легко настроен для разных проектов, изменив значение переменной `project_name`.
`src` – это сокращение от английского слова "source" (исходный код). В контексте данного кода, `src` – это директория, в которой хранится исходный код проекта. В этой директории могут находиться поддиректории, содержащие модули и компоненты проекта. Обычно, исходный код проекта хранится в директории `src`, чтобы отделить его от других файлов и директорий, связанных с проектом, таких как документация, конфигурационные файлы, тесты и т.д.
Если в будущем необходимо досоздать новые папки и файлы, то необходимо отредактировать список `list_of_files`, добавив новые пути к файлам и папкам, которые необходимо создать. При этом необходимо убедиться, что пути к файлам и папкам заданы корректно и соответствуют структуре проекта.
Структура папок, представленная в данном коде, напоминает внутреннюю библиотеку, которую можно использовать в текущем проекте. В данном случае, проект разделен на модули и компоненты, которые хранятся в соответствующих папках. Это позволяет легко организовать код проекта и упростить его поддержку и развитие.
Например, папка `conponents` содержит компоненты проекта, такие как модуль для предобработки данных или модуль для обучения модели.
Папка `utils` содержит утилиты, которые могут быть использованы в разных компонентах проекта.
Папка `config` содержит файлы конфигурации, которые используются для настройки параметров проекта.
Папка `pipeline` содержит модули, которые отвечают за обработку данных в конвейере.
Такая структура папок позволяет легко найти нужный модуль или компонент проекта, а также упрощает его тестирование и отладку. Кроме того, такая структура папок может быть использована для создания библиотеки, которую можно переиспользовать в других проектах.
`conda create` – это команда менеджера пакетов Conda, которая создает новое виртуальное окружение и устанавливает в него пакеты и зависимости.
`-n project_1` – это опция команды `conda create`, которая задает имя нового виртуального окружения. В данном случае, имя виртуального окружения – `project_1`.
`python=3.11.4` – это опция команды `conda create`, которая указывает на установку пакета Python версии 3.11.4 в новое виртуальное окружение.
`-y` – это опция команды `conda create`, которая указывает на автоматическое подтверждение установки без запроса подтверждения пользователя.
Таким образом, данная команда создает новое виртуальное окружение с именем `project_1` и устанавливает в него Python версии 3.10с помощью менеджера пакетов Conda.
Опция `-y` указывает на автоматическое подтверждение установки без запроса подтверждения пользователя.
В результате выполнения этой команды будет создано новое виртуальное окружение, которое можно активировать с помощью команды `conda activate project_1`.
После активации виртуального окружения можно устанавливать необходимые пакеты и зависимости для проекта, не затрагивая другие проекты и системные настройки.
Данный код является последовательностью команд, которые выполняются в командной строке операционной системы Windows.
Первая команда `cd Text-Summarizer-Project` переходит в директорию `Text-Summarizer-Project`, которая находится в текущей директории `project_1`.
Затем выполняется команда `python template.py`, которая запускает скрипт `template.py` на языке Python.
В данном случае, скрипт `template.py` содержит код для работы с модулем по автоматическому созданию краткого содержания текста (text summarization).
При выполнении данной команды в командной строке будет запущен интерпретатор Python, который выполнит код из файла `template.py`.
В результате выполнения скрипта будет создано краткое содержание текста, которое будет выведено в консоль.
Итого: Шаблон нашего проекта создан. Шаблон содержит все необходимые папки и файлы, которые на последующих шагах мы будем заполнять.
Лог в терминале – содержит информацию о создании файлов и директорий в проекте. Каждая строка лога содержит дату и время создания файла или директории, а также путь к созданному файлу или директории.
Например, первая строка лога `[2023-08-14 02:15:42,662]: Creating empty file: src\textSummarizer\constants\__init__.py:` указывает на создание пустого файла `__init__.py` в директории `constants`, которая находится в директории `textSummarizer`, которая в свою очередь находится в директории `src`.
Аналогично, остальные строки лога указывают на создание пустых файлов и директорий в проекте. Например, строка `[2023-08-14 02:15:42,674]: Creating directory:config for the file config.yaml:` указывает на создание директории `config`, в которой будет создан файл `config.yaml`.
Таким образом, логирование создания файлов и директорий позволяет отслеживать процесс создания файлов и директорий в проекте и выявлять возможные проблемы в процессе создания.