Как собрать Python проект в Linux: пошаговое руководство

Python продолжает завоевывать сердца разработчиков благодаря своей гибкости, понятности и широкому спектру применений – от веб-разработки до анализа данных. В данной статье мы рассмотрим пошаговый процесс сборки Python-проекта в операционной системе Linux.

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

Мы рассмотрим следующие разделы:

  1. Подготовка окружения
  2. Структура проекта
  3. Установка зависимостей
  4. Сборка проекта
  5. Тестирование проекта
  6. Развертывание проекта
  7. Заключение

Подготовка окружения

Выбор дистрибутива 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). Удачи в разработке ваших проектов!


Добавить комментарий