Команда pip show aiogram в терминале показывает, какая версия библиотеки установлена у вас прямо сейчас, — и именно с этой проверки стоит начинать, прежде чем искать «последнюю версию aiogram». Номер актуального релиза меняется регулярно: разработчики выпускают обновления с исправлениями и поддержкой новых методов Telegram Bot API, поэтому любая конкретная цифра, записанная в статье, быстро устаревает.
На момент написания материала активно развивается ветка aiogram 3.x — именно она получает новые функции и исправления. Ветка aiogram 2.x считается устаревшей и новых возможностей не получает. Точный номер свежего релиза всегда стоит сверять на странице проекта в PyPI или в репозитории на GitHub — это единственные источники, где данные гарантированно актуальны.
Как узнать установленную версию aiogram
Самый быстрый способ — выполнить в терминале или командной строке одну команду. Она работает одинаково в Windows, Linux и macOS, если библиотека установлена через pip:
pip show aiogram
В выводе найдите строку Version: — рядом будет номер установленной версии, а также путь к файлам пакета. Если у вас несколько виртуальных окружений, убедитесь, что команда запускается из того окружения, где работает бот: версии в разных окружениях могут отличаться.
Альтернативный вариант — проверка из самого Python-кода. Это удобно, когда нужно вывести версию в лог при запуске бота:
import aiogram
print(aiogram.__version__)
Где смотреть номер последней версии
Чтобы узнать, какой релиз сейчас самый свежий, используйте официальные источники. Сторонние сайты и статьи часто содержат устаревшие цифры.
- 📦 PyPI — страница пакета aiogram показывает номер последнего опубликованного релиза и историю версий;
- 🐙 GitHub-репозиторий проекта — раздел Releases с описанием изменений в каждой версии (changelog);
- 📖 Официальная документация — соответствует актуальной ветке 3.x;
- 💬 Команда pip —
pip index versions aiogram(в свежих версиях pip) покажет доступные версии без установки.
Если номер на PyPI новее вашего — пора обновляться. Если совпадает, но бот работает странно, проблема, скорее всего, не в версии библиотеки, а в коде или конфигурации.
Как обновить aiogram до последней версии
Обновление выполняется стандартной командой pip с флагом -U. Перед этим активируйте виртуальное окружение проекта, если оно используется:
pip install -U aiogram
После завершения установки снова выполните pip show aiogram и убедитесь, что номер версии изменился. Затем перезапустите бота и проверьте его основные сценарии: обработку команд, отправку сообщений, работу клавиатур.
☑️ Безопасное обновление aiogram
⚠️ Внимание: обновление внутри ветки 3.x обычно проходит безболезненно, но мажорные и даже минорные релизы иногда меняют поведение отдельных функций. Перед обновлением на боевом сервере прочтите changelog к новой версии и опробуйте её на тестовом боте.
Если проект должен работать стабильно и внезапные изменения нежелательны, зафиксируйте версию в requirements.txt, например: aiogram==3.x.x (подставьте проверенный номер). Так все окружения получат одинаковую версию.
Чем aiogram 3.x отличается от 2.x
Переход с второй на третью ветку — это не просто обновление, а миграция: фреймворк был существенно переработан. Код, написанный под aiogram 2.x, на третьей версии без правок не запустится.
| Аспект | aiogram 2.x | aiogram 3.x |
|---|---|---|
| Диспетчер | Dispatcher создаётся с bot внутри | Dispatcher отделён, bot передаётся при запуске |
| Фильтры хендлеров | Параметры в декораторе (commands, state) | Объекты-фильтры: Command(), F.text и др. |
| Запуск polling | executor.start_polling() | dp.start_polling(bot) |
| Клавиатуры | types.ReplyKeyboardMarkup с add() | Билдеры KeyboardBuilder или явные списки кнопок |
| Статус развития | Устаревшая ветка | Активно развивается |
Главное: если вы начинаете новый проект — ставьте только aiogram 3.x. Писать нового бота на второй ветке означает сознательно выбирать устаревший инструмент без поддержки новых возможностей Telegram Bot API.
Миграция с aiogram 2.x на 3.x
Если у вас рабочий бот на второй ветке, переход потребует переработки кода. Объём правок зависит от размера проекта: у небольшого бота это замена декораторов и способа запуска, у крупного — ещё и переработка клавиатур, middleware и машины состояний.
Типовые изменения, которые встречаются почти в каждом проекте:
- 🔧 Замена
executor.start_polling(dp)на асинхронный запуск черезdp.start_polling(bot)внутриasyncio.run(); - 🎯 Переход с параметров декораторов на фильтры:
@dp.message(Command("start"))вместо@dp.message_handler(commands=["start"]); - ⌨️ Пересборка клавиатур через ReplyKeyboardBuilder / InlineKeyboardBuilder;
- 🧠 Обновление работы с FSM — импорты и привязка состояний изменились.
⚠️ Внимание: не обновляйте aiogram 2.x до 3.x командой pip install -U в работающем проекте напрямую — бот перестанет запускаться из-за несовместимости API. Сначала адаптируйте код в отдельной ветке или копии проекта, и только потом меняйте версию на сервере.
Что делать, если миграция пока невозможна
Если бот критичен для бизнеса и времени на переписывание нет, можно временно зафиксировать версию aiogram 2.x в requirements.txt и продолжать её использовать. Учтите, что новые функции Telegram Bot API в этой ветке появляться не будут, поэтому миграцию стоит запланировать.
Типичные проблемы после обновления
После смены версии разработчики чаще всего сталкиваются с ошибками импорта и запуска. Возможная причина большинства из них — смешение кода разных веток: старый синтаксис встречает новую библиотеку.
Ошибка вида ImportError: cannot import name 'executor' почти всегда означает, что код написан под 2.x, а установлена 3.x. Обратная ситуация — TypeError при вызове dp.start_polling() — говорит о том, что код под третью ветку запускается на второй. Проверьте версию командой pip show aiogram и приведите код в соответствие с ней.
Ещё один сценарий: в системе несколько интерпретаторов Python, и пакет обновился не в том окружении. Признак — pip show показывает новую версию, а бот ведёт себя по-старому. Убедитесь, что бот запускается тем же интерпретатором, в который ставился пакет: команда python -m pip show aiogram покажет версию именно для используемого Python.
FAQ: частые вопросы о версиях aiogram
Какая версия aiogram сейчас последняя?
Актуальный номер смотрите на странице пакета в PyPI или в разделе Releases GitHub-репозитория проекта — цифры меняются с каждым релизом. Активно развивается ветка 3.x.
Как установить конкретную версию aiogram?
Командой pip install aiogram==3.x.x, где вместо 3.x.x подставьте нужный номер из списка версий на PyPI.
Работает ли код aiogram 2.x на версии 3.x?
Нет, ветки несовместимы: изменились диспетчер, фильтры, запуск polling и клавиатуры. Код нужно адаптировать под новый API.
Как откатиться на предыдущую версию после неудачного обновления?
Установите нужную версию явно: pip install aiogram==номер_версии. Поэтому перед обновлением полезно зафиксировать текущий номер через pip show aiogram.
Нужно ли обновлять aiogram сразу после выхода релиза?
Для боевого бота — не обязательно. Разумная практика: прочитать changelog, проверить обновление на тестовой копии и только потом ставить на сервер.