Рабочий стол > External Testing Results > Home > Python. с чего начать > Просмотр
Python. с чего начать Войти | Зарегистрироваться   Просмотр версии для печати текущей страницы.

Добавлено Владислав Свиридков, последний раз изменено Владислав Свиридков Oct 12, 2023  (просмотр изменений) показать комментарий
Метки: 
(нет)

На этой странице представлю начальные шаги для создания нового python проекта.

Что требуется от вас?

Прежде всего согласовать с Михаил Семеновичем проект, что он будет делать и способы взаимодействия (какие страницы или какие команды, по какому адресу будут доступны, что надо открыть/запустить) с проектом.

Требуется установка следующих программ:

  • Python
  • IDE для Python
  • Docker
  • Git
  • Space
  • основы HTTP

Python

Python подойдет любой версии, которую поддерживают библиотеки и фреймворки проекта.
Здесь можно посмотреть все доступные версии.

IDE

IDE для Python - я советую VS Code или PyCharm (последний может быть доступен по студенческой лицензии).
Подойдет любая другая удобная вам IDE на которой можно запускать Python код.

Docker

Docker  необходим для запуска проекта на серверах.

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

Docker позволяет создавать и запускать проекты, написанные не только на Python, но и на любых других языках программирования. Главное, возможность поместить этот проект в linux контейнер.

Для понимания Docker можно посмотреть видео , почитать доку(англ)доку(англ), статья(англ).

Git и Space

Git - технология версионирования кода.

Space - платформа от Jetbrains, совмещающая в себе несколько инструментов для командной разработки, включая Git репозиторий.

Про git можно почитать тут.

Про Space можно почитать тут(англ). Вкратце, для dl.gsu.by это одно место со всеми исходными кодами всех проектов.

Space можно установить, а можно пользоваться веб версией.

HTTP

Про HTTP можно почитать тут.

Стадии развития проекта

Для начала требуется попросить завести вам репозиторий для вашего проекта.

После этого начинаем кодить. После того, как вы протестировали проект и сделали из него то, что планировали, вы можете его опубликовать на серверах dl. Для этого требуется:

  • залить все файлы в свой репозиторий на Space (лучше сразу, после того, как внесли изменение в любой файл документировать в коммите это изменение)
  • создать Dockerfile (если вы этого еще не сделали) и протестировать корректность создания контейнера
  • написать Михаилу Семеновичу письмо о готовности опубликовать проект

Особенности, или инструкция как сэкономить время себе и другим

В этом разделе собраны и будут собираться все особенности публикации проекта.

Обработка URL ведется начиная с префикса названия вашего проекта

Покажу на примере:

Допустим ваш проект называется newproject.

Если вы хотите добавить какой-то функционал по адресу /user/profile/1, то перед публикацией на dl этот URL должен быть преобразован в /newproject/user/profile/1.

Все пути запросов, отправляемые в ваш проект (контейнер) будут начинаться с /newproject. Благодаря этому осуществляется перенаправление запросов в нужные контейнеры.

Из URL в запросе /newproject не убирается.

Пути решения:

Можно завести в файле конфиге проекта поле с префиксом для всех URL, а в обработчиках добавлять к URL этот префикс. Так же, если фреймворк позволяет, указать в приложении явно глобальный префикс для всех URL.

Proxy

Вся коммуникация с внешним миром идёт через https-прокси, поэтому в приложении обязательно уметь и использовать прокси (обязательно с поддержкой http basic auth), который будет передан контейнеру через переменные окружения HTTP_PROXY и HTTPS_PROXY. По-умолчанию имеет слелующий формат HTTPS_PROXY=%username:%password@%proxy_host:$proxy_port. В ETR передано именно в этом формате и работает.

Если есть команды в RUN (имеется ввиду в Dockerfile), утилита так же должна уметь работать с http proxy. Опять же, наличие вышеуказанных переменных вполне достаточно, 90% приложений под linux понимают именно этот формат и его стараются унифицировать, хотя бывают исключения. В основном это приложения на java и пакетные менеджеры (напр apt, yum).

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами