Установка Python в Termux на Android

Команда pkg install python в Termux завершается ошибкой «Unable to locate package» чаще всего из-за устаревших репозиториев — перед установкой Python необходимо выполнить обновление списка пакетов, иначе пакетный менеджер не найдёт нужные файлы. Эта ситуация типична для свежеустановленного Termux и для версий, скачанных из Google Play, где репозитории давно не поддерживаются.

Termux — это эмулятор терминала для Android, который позволяет запускать полноценное Linux-окружение без root-прав. Python в нём устанавливается штатными средствами пакетного менеджера, однако есть нюансы с источником установки самого Termux и с настройкой окружения. Ниже разберём весь процесс по шагам: от подготовки до проверки работоспособности интерпретатора.

Откуда скачивать Termux и почему это важно

Первое, что нужно проверить до установки Python, — источник, из которого установлен сам Termux. Версия в Google Play долгое время не обновлялась, и её репозитории могут быть недоступны или содержать устаревшие пакеты. Актуальные сборки проект публикует через F-Droid и на странице релизов в GitHub.

Если Termux уже установлен из Play Market, корректный путь — удалить его и поставить актуальную версию из F-Droid. Учтите, что при удалении приложения будет стёрта и вся его внутренняя среда: скрипты, установленные пакеты и файлы в домашнем каталоге. Сохраните нужное заранее.

⚠️ Внимание: не устанавливайте Termux из сторонних сайтов и «сборок». Под видом модифицированных версий распространяются вредоносные приложения. Используйте только F-Droid или официальный репозиторий проекта на GitHub.

Подготовка: обновление пакетов перед установкой

Любую установку в Termux нужно начинать с синхронизации списка пакетов и обновления уже установленных компонентов. Для этого служит команда:

pkg update && pkg upgrade

Во время обновления пакетный менеджер может задавать вопросы о замене конфигурационных файлов. Если вы ещё ничего не настраивали вручную, безопасный вариант — оставить версию по умолчанию, нажав N или Enter, в зависимости от формулировки запроса. Прерывать процесс на середине не стоит: это может оставить систему в частично обновлённом состоянии.

Проверьте также, что устройство подключено к стабильной сети. Загрузка пакетов идёт из внешних репозиториев, и обрыв соединения — частая причина повреждённых установок, которые потом приходится чинить вручную.

📊 Откуда вы установили Termux?
F-Droid
GitHub (APK релиз)
Google Play
Ещё не устанавливал

Установка Python: основные команды

После обновления установка сводится к одной команде. Введите в терминале:

pkg install python

Менеджер пакетов покажет список устанавливаемых зависимостей и запросит подтверждение — ответьте Y. Вместе с интерпретатором обычно ставится и pip — менеджер пакетов Python, без которого невозможно доустановить сторонние библиотеки. Если pip по какой-то причине отсутствует, его можно установить отдельно командой pkg install python-pip.

Для работы с репозиториями кода полезно сразу поставить git, а для компиляции некоторых библиотек потребуются инструменты сборки:

pkg install git clang make

☑️ Проверка перед установкой Python

Выполнено: 0 / 4

Проверка установки и первый запуск

Убедиться, что интерпретатор установлен корректно, можно запросом версии:

python --version

Если в ответ вы видите номер версии вместо ошибки command not found — установка прошла успешно. Запустить интерактивную консоль можно простой командой python, а выйти из неё — сочетанием Ctrl+D или функцией exit().

Для проверки pip выполните pip --version. Команда должна вывести версию pip и путь к интерпретатору внутри среды Termux. Если pip не находится, хотя Python работает, переустановите пакет python-pip и проверьте, не прерывалась ли первоначальная установка.

Установка библиотек через pip

Сторонние библиотеки ставятся стандартно — через pip install имя_пакета. Однако в Termux есть важная особенность: часть библиотек содержит компоненты на языке C, которые компилируются при установке. Без установленных clang и заголовочных файлов такая установка завершится ошибкой.

  • 📦 Чисто Python-библиотеки (например, requests) ставятся без дополнительных зависимостей.
  • 🔧 Библиотеки с компиляцией требуют установленных clang, make и иногда пакета python-dev-эквивалента из репозитория Termux.
  • 🧮 Научные пакеты вроде numpy могут собираться долго; для части из них в репозитории Termux есть готовые сборки, устанавливаемые через pkg.
  • 🌐 Ошибки сети при установке через pip часто решаются повторным запуском команды или сменой зеркала.
⚠️ Внимание: не используйте pip install с правами суперпользователя и не запускайте pip через sudo-подобные обёртки. В Termux это не нужно и может нарушить структуру прав внутри среды.
Зачем нужен виртуальный environment (venv)

Команда python -m venv myenv создаёт изолированное окружение, где библиотеки не конфликтуют с системными пакетами Termux. Активируется окружение командой source myenv/bin/activate. Это полезно, когда разные проекты требуют разных версий одних и тех же библиотек.

Типичные ошибки и их решение

Большинство проблем при установке Python в Termux сводится к нескольким повторяющимся сценариям. Разберём их в таблице.

ОшибкаВероятная причинаРешение
Unable to locate package pythonНе обновлён список пакетов или устаревшие репозиторииВыполнить pkg update, при повторе — переустановить Termux из F-Droid
command not found: pythonУстановка прервалась или пакет не доустановилсяПовторить pkg install python
Ошибка компиляции при pip installОтсутствуют инструменты сборкиУстановить pkg install clang make и повторить
Репозиторий недоступенУстаревшая версия Termux из Google PlayПереустановить приложение из F-Droid или GitHub

Если ни одно из решений не помогает, полезно посмотреть полный текст ошибки — в Termux он выводится прямо в терминал, и по ключевой строке обычно можно найти описание аналогичной проблемы в документации проекта или на профильных форумах.

Доступ к файлам устройства

По умолчанию Termux работает в изолированном каталоге и не видит общую память смартфона. Чтобы Python-скрипты могли читать и сохранять файлы, например в папке «Загрузки», выполните команду:

termux-setup-storage

Система запросит разрешение на доступ к хранилищу — подтвердите его. После этого в домашнем каталоге Termux появится папка storage со ссылками на стандартные каталоги Android. Без этого шага скрипты не смогут работать с файлами за пределами внутренней песочницы Termux, что часто становится причиной ошибок вида «No such file or directory» у новичков.

Имейте в виду, что поведение доступа к хранилищу зависит от версии Android: в новых версиях системы действуют более строгие ограничения, и отдельные каталоги могут оставаться недоступными. Точные ограничения стоит уточнять в документации Termux под вашу версию Android.

Часто задаваемые вопросы

Можно ли установить конкретную версию Python в Termux?

В основном репозитории Termux доступна актуальная поддерживаемая версия Python. Установка произвольной старой версии штатными средствами не предусмотрена — для этого придётся собирать интерпретатор из исходников или искать сторонние пакеты, что требует опыта и не гарантирует стабильной работы.

Нужен ли root для установки Python в Termux?

Нет. Termux работает в изолированной среде и не требует root-прав. Установка Python, библиотек и запуск скриптов выполняются полностью в пользовательском пространстве.

Почему pip install зависает или идёт очень долго?

Возможные причины — компиляция пакета из исходников на слабом устройстве, медленное зеркало репозитория или нестабильное соединение. Проверьте сеть, попробуйте сменить зеркало через termux-change-repo и убедитесь, что установлены инструменты сборки, если пакет компилируется.

Как запустить Python-скрипт из файла?

Сохраните код в файл, например script.py, и выполните команду python script.py в каталоге с файлом. Перейти в нужный каталог можно командой cd.

Termux из Google Play не находит пакеты. Что делать?

Версия из Play Market долго не обновлялась, и её репозитории могут не работать. Рекомендуемый путь — удалить эту версию (предварительно сохранив нужные файлы) и установить актуальную сборку из F-Droid или с GitHub-страницы проекта.