Python продолжает завоевывать сердца разработчиков благодаря своей гибкости, понятности и широкому спектру применений – от веб-разработки до анализа данных. В данной статье мы рассмотрим пошаговый процесс сборки Python-проекта в операционной системе Linux.
Цель этой статьи — предложить вам детальные инструкции по настройке окружения, установке зависимостей, структуре проекта и его сборке. В статье также затрагиваются аспекты тестирования и развертывания проекта.
Мы рассмотрим следующие разделы:
- Подготовка окружения
- Структура проекта
- Установка зависимостей
- Сборка проекта
- Тестирование проекта
- Развертывание проекта
- Заключение
Подготовка окружения
Выбор дистрибутива Linux и установка необходимых пакетов
Для разработки на Python в Linux вам подойдет любой популярный дистрибутив, будь то Ubuntu, Fedora или Arch Linux. Все необходимые пакеты можно установить через штатный менеджер пакетов вашего дистрибутива.
# Пример для Ubuntu
sudo apt update
sudo apt install python3 python3-pip python3-venv
Установка Python и pip
В большинстве современных дистрибутивов Linux Python уже предустановлен. Однако для удобства обновления и управления пакетами рекомендуется использовать pyenv.
curl https://pyenv.run | bash
Проверка установки
Для проверки установки Python и pip, выполните следующие команды:
python3 --version
pip3 --version
Пример кода для проверки установки:
import sys
print(sys.version) # Выводит текущую версию Python
Структура проекта
Описание типичной структуры папок Python-проекта
Организованная структура проекта облегчает разработку и сопровождение. Пример типичной структуры:
myproject/
│
├── myproject/
│ ├── __init__.py
│ ├── main.py
│ └── utils.py
│
├── tests/
│ ├── __init__.py
│ └── test_main.py
│
├── requirements.txt
├── setup.py
└── README.md
Создание виртуального окружения
Виртуальное окружение позволяет изолировать зависимости вашего проекта от глобальных системных пакетов. Это помогает избежать конфликтов версий.
python3 -m venv myenv
source myenv/bin/activate
Теперь ваш терминал находится в виртуальном окружении. Все установленные пакеты будут находиться в директории myenv вашего проекта.
Установка зависимостей
Файл requirements.txt используется для управления зависимостями проекта. Создайте этот файл в корневой директории проекта и добавьте в него все необходимые библиотеки.
pip install -r requirements.txt
Пример файла requirements.txt:
numpy==1.21.2
pandas==1.3.3
requests==2.26.0
Сборка проекта
Создание setup.py
Файл setup.py используется для настройки вашего проекта и его упаковывания. Пример простого файла:
# setup.py
from setuptools import setup
setup(
name='myproject',
version='1.0',
packages=['myproject'],
)
Запуск сборки
Для создания инсталляционных пакетов используйте команду:
python setup.py sdist bdist_wheel
Тестирование проекта
Создайте тесты, используя библиотеку unittest. Пример теста:
import unittest
class TestMyProject(unittest.TestCase):
def test_example(self):
self.assertEqual(1, 1)
if __name__ == '__main__':
unittest.main()
Запускайте тесты командой:
python -m unittest discover
Развертывание проекта
Использование Docker
Docker позволяет создавать контейнеры с предсказуемым окружением для вашего приложения.
Преимущества Docker:
- Изоляция окружения
- Простота развертывания
- Консистентность окружений
Пример Dockerfile:
FROM python:3.8
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
Заключение
Мы рассмотрели ключевые этапы создания и развертывания Python-проекта в Linux: настройку окружения, структуру проекта, управление зависимостями, сборку, тестирование и развертывание на Docker.
Для дальнейшего изучения рекомендуем ознакомиться с официальной документацией Python, библиотеками для тестирования (pytest), а также инструментами для CI/CD (например, Jenkins или GitHub Actions). Удачи в разработке ваших проектов!