Как запускать Python‑скрипты на Android: Termux и Pydroid
Да — Python на Android можно установить и запускать: Termux даёт полноценный Linux‑терминал для CLI‑скриптов и серверов, Pydroid — удобную IDE для быстрого прототипирования и визуальных задач. Ниже — пошагово, что установить, как запускать, где подводные камни.
Оглавление {{TOC_AUTOMATIC}}
Установка и базовая настройка Termux
- Установите Termux (рекомендовано устанавливать из проверенного источника).
- Обновите пакеты:
pkg update && pkg upgrade - Установите Python:
pkg install python
Проверка: python --version
Базовые пакеты для разработки: git, vim, tmux:
pkg install git vim tmux
Рабочая директория Termux: /data/data/com.termux/files/home. Создавайте репозитории и делайте бэкапы через git. Для полноценной среды можно поставить build tools: pkg install clang make (если нужно сборка нативных модулей).
Запуск простого скрипта:
- Создайте hello.py в nano/vim: print("Привет из Android")
- Запуск: python hello.py
Для автозапуска сделайте исполняемый скрипт:
- Добавьте shebang: #!/data/data/com.termux/files/usr/bin/python
- chmod +x hello.py && ./hello.py
Установка библиотек:
- pip install requests pandas numpy
Jupyter в Termux:
- pkg install nodejs
- pip install jupyterlab
- jupyter lab --ip=0.0.0.0 --port=8888 Доступ локально через браузер по localhost:8888; для внешнего доступа — настраивайте туннелирование.
Termux хранит файлы внутри приложения; при очистке данных или обновлениях можно потерять проект. Всегда синхронизируйте через Git или делайте бэкап в облако.
Установка и работа в Pydroid 3
Pydroid 3 — это IDE с встроенным интерпретатором и GUI‑редактором. Порядок быстрый:
- Откройте Pydroid → создайте новый файл → сохраните и нажмите ▶️.
Особенности:
- Встроенный pip‑менеджер: ищите и устанавливайте пакеты из интерфейса.
- Поддержка графики: matplotlib, tkinter (ограниченно на Android).
- Быстрый запуск скриптов и тестов, удобен для учебы и визуализации.
Ограничения:
- Некоторые тяжёлые С‑зависимые пакеты (полная версия TensorFlow или большие бинарные расширения) могут не работать; для сборки APK сущ. инструменты (buildozer), иногда нужна связка с Termux.
Для синхронизации кода используйте git: в Termux — через CLI, в Pydroid экспортируйте файлы и отправляйте в репозиторий. Это экономит время и предотвращает потерю данных.
Сравнение подходов и практические сценарии
-
Когда выбирать Termux:
- Нужно SSH, сервера, постоянные фоновые скрипты, установка системных пакетов.
- Нужны компиляция и нативные зависимости.
-
Когда выбирать Pydroid:
- Быстрое прототипирование, GUI‑скрипты, обучение, визуализация.
- Удобство для новичков: встроенный редактор и отладка.
Практические советы:
- Shebang в Termux указывает на правильный путь интерпретатора: /data/data/com.termux/files/usr/bin/python.
- Используйте virtualenv для изоляции: python -m venv venv && source venv/bin/activate.
- Для долгих задач в Termux применяйте tmux: сохраняйте сессии и запускайте задания в фоне.
- Для ML на смартфоне используйте лёгкие библиотеки (tensorflow‑lite) и профильте нагрузку — телефоны перегреваются.
Частые ошибки
- Попытка установить heavy‑библиотеку через pip без build tools → ошибка компиляции.
- Хранение единственной копии кода в внутренней памяти приложения (риск потери).
- Запуск сетевого сервера без bind к 127.0.0.1 при отсутствии NAT/проброса порта.
- Ожидание, что телефон заменит десктоп для больших ML‑задач — производительность ограничена.
FAQ
- Нужен ли root для Python на Android?
- Нет. Оба варианта работают без рута.
- Можно ли использовать внешние библиотеки из pip?
- Да, но некоторые пакеты с нативными расширениями требую сборки; в Termux это проще настроить.
- Как запустить скрипт по расписанию?
- В Termux используйте crontab‑аналог (через приложение Termux:API или планировщик внутри). В Pydroid нет встроенного cron.
- Как собрать APK из Python‑приложения?
- Инструменты вроде buildozer помогут, но для полноценной сборки обычно нужна связка с Termux и дополнительные настройки.
Начните с небольшого скрипта: в Termux — настройте git и virtualenv, в Pydroid — создайте файл и запустите. Синхронизируйте код и бэкапьте — и ваш смартфон станет удобной мобильной средой разработки.