Представь, что ты начинаешь новый проект на Python и хочешь создать легковесное веб-приложение. Flask — идеальный фреймворк для этого, а Ubuntu — одна из самых популярных операционных систем для разработки. В этой статье я покажу тебе, как правильно выполнить установку Flask на Ubuntu, настроить виртуальное окружение и запустить твое первое приложение.
Мы разберем процесс от обновления системы до деплоя простого веб-сервера. Давай начнем!
Подготовка системы Ubuntu
Перед тем как установить Flask, нужно убедиться, что наша система обновлена и содержит все необходимые зависимости. Открой терминал (Ctrl+Alt+T) и выполни следующие команды.
Обновление пакетов системы
Начнем с обновления списка пакетов и установки последних обновлений:
sudo apt update
sudo apt upgrade -y
Установка Python и pip
Flask — это Python-фреймворк, поэтому нам нужен Python 3. В современных версиях Ubuntu он уже установлен, но проверим и установим pip (менеджер пакетов Python):
# Проверяем версию Python
python3 --version
# Устанавливаем pip и необходимые зависимости
sudo apt install python3-pip python3-venv -y
Создание виртуального окружения
Виртуальное окружение — это изолированная среда для Python-проектов. Она позволяет устанавливать пакеты, не влияя на системные библиотеки. Это лучшая практика для любого Python-проекта.
Создание и активация окружения
Давай создадим папку для проекта и настроим виртуальное окружение:
# Создаем папку для проекта
mkdir ~/flask_project
cd ~/flask_project
# Создаем виртуальное окружение
python3 -m venv venv
# Активируем виртуальное окружение
source venv/bin/activate
После активации виртуального окружения в командной строке появится префикс (venv). Это означает, что все последующие команды pip будут устанавливать пакеты в эту изолированную среду.
Установка Flask на Ubuntu
Теперь, когда виртуальное окружение активно, можно установить Flask. Есть несколько способов установки, рассмотрим основные.
Базовая установка Flask
Самый простой способ — установить Flask через pip:
pip install Flask
Установка с дополнительными зависимостями
Для реальных проектов часто нужны дополнительные пакеты. Вот пример установки Flask с популярными расширениями:
pip install Flask Flask-SQLAlchemy Flask-WTF Flask-Login Flask-Migrate
Проверка установки
Убедимся, что Flask установлен корректно:
python -c "import flask; print(f'Flask версии: {flask.__version__}')"
Сравнение методов установки Flask
| Метод | Преимущества | Недостатки | Когда использовать |
|---|---|---|---|
| pip install Flask | Простота, минимальные зависимости | Только базовый функционал | Для тестирования или простых приложений |
| С requirements.txt | Воспроизводимость, контроль версий | Требует подготовки файла | Для production-проектов и команд |
| Установка из репозитория | Последняя версия, доступ к dev-ветке | Может быть нестабильной | Для разработки новых фич |
Создание первого Flask-приложения
Давай создадим простое приложение, чтобы проверить, что все работает правильно.
Структура проекта
Создадим базовую структуру файлов:
# Создаем основной файл приложения
touch app.py
# Создаем папку для шаблонов
mkdir templates
# Создаем папку для статических файлов
mkdir static
Код простого Flask-приложения
Открой файл app.py в текстовом редакторе и добавь следующий код:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return 'Привет, Flask на Ubuntu!
'
@app.route('/about')
def about():
return render_template('about.html', title='О нас')
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)
Создание шаблона HTML
Создай файл templates/about.html:
{{ title }}
{{ title }}
Это мое первое Flask-приложение на Ubuntu!
Flask успешно установлен и работает.
Запуск и тестирование приложения
Запуск сервера разработки
Вернись в терминал и запусти приложение:
python app.py
Ты увидишь вывод примерно такого вида:
* Serving Flask app 'app'
* Debug mode: on
* Running on http://0.0.0.0:5000
Press CTRL+C to quit
Тестирование в браузере
Открой браузер и перейди по одному из адресов:
http://localhost:5000— главная страницаhttp://localhost:5000/about— страница "О нас"http://127.0.0.1:5000— альтернативный адрес
deactivate.
Продвинутая настройка Flask на Ubuntu
Использование файла requirements.txt
Для управления зависимостями проекта создай файл requirements.txt:
# Генерируем файл с зависимостями
pip freeze > requirements.txt
Содержимое файла будет примерно таким:
click==8.1.7
Flask==2.3.3
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.3
Werkzeug==2.3.7
Установка зависимостей из requirements.txt
Для установки всех зависимостей на другой машине или после клонирования проекта:
# Активируем виртуальное окружение
source venv/bin/activate
# Устанавливаем все зависимости
pip install -r requirements.txt
Настройка переменных окружения
Для production-окружения используй переменные окружения. Создай файл .env:
# Устанавливаем python-dotenv для работы с .env файлами
pip install python-dotenv
# app.py с поддержкой .env
from flask import Flask
from dotenv import load_dotenv
import os
load_dotenv() # Загружаем переменные из .env
app = Flask(__name__)
app.config['SECRET_KEY'] = os.getenv('SECRET_KEY', 'dev-key-123')
app.config['DEBUG'] = os.getenv('DEBUG', 'False') == 'True'
Часто задаваемые вопросы (FAQ)
Как обновить Flask до последней версии?
Используй команду pip install --upgrade Flask в активированном виртуальном окружении. Рекомендуется предварительно проверить совместимость с твоим проектом.
Почему не работает команда flask run?
Команда flask run требует установки переменной окружения FLASK_APP. Выполни export FLASK_APP=app.py или используй python app.py для запуска.
Как установить конкретную версию Flask?
Укажи версию при установке: pip install Flask==2.3.0. Это полезно для поддержания совместимости в production-средах.
Можно ли использовать Flask с Python 2?
Нет, Flask 1.0 и выше поддерживает только Python 3.6+. Если тебе нужен Python 2, используй старые версии Flask, но это не рекомендуется из-за прекращения поддержки Python 2.
Как правильно деактивировать виртуальное окружение?
Просто выполни команду deactivate в терминале. Это вернет тебя к системному интерпретатору Python.
Заключение
Мы успешно выполнили установку Flask на Ubuntu, настроили виртуальное окружение и создали первое рабочее приложение. Давай резюмируем ключевые шаги:
- Обновили систему и установили Python 3 с pip
- Создали виртуальное окружение для изоляции зависимостей
- Установили Flask через pip в виртуальном окружении
- Создали простое приложение с несколькими маршрутами
- Запустили сервер разработки и протестировали приложение
- Научились управлять зависимостями через requirements.txt
Теперь у тебя есть полностью рабочая среда для разработки Flask-приложений на Ubuntu. Помни о лучших практиках: всегда используй виртуальные окружения, фиксируй зависимости в requirements.txt и настраивай переменные окружения для production.