Как установить python3 на termux

от admin

Python

Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python’s design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.

In Termux Python v3.x can be installed by executing

Legacy, deprecated version 2.7.x can be installed by

Warning: upgrading major/minor version of Python package, for example from Python 3.8 to 3.9, will make all your currently installed modules unusable. You will need to reinstall them. However upgrading patch versions, for example from 3.8.1 to 3.8.2, is safe.

Due to our infrastructure limits, we do not provide older versions of packages. If you accidentally upgraded to unsuitable Python version and do not have backups to rollback, do not complain! We recommend doing backups of $PREFIX for developers and other people who rely on specific software versions.

Contents

Package management

After installing Python, pip ( pip2 if using python2) package manager will be available. Here is a quick tutorial about its usage.

Installing a new Python module:

Uninstalling Python module:

Listing installed modules:

When installing Python modules, it is highly recommended to have a package build-essential to be installed — some modules compile native extensions during their installation.

A few python packages are available from termux’s package manager (for python3 only), and should be installed from there to avoid compilation errors. This is the case for:

  • numpy, pkg install python-numpy
  • electrum, pkg install electrum
  • opencv, pkg install opencv-python
  • asciinema, pkg install asciinema
  • matplotlib, pkg install matplotlib
  • cryptography, pkg install python-cryptography

Python module installation tips and tricks

It is assumed that you have build-essential or at least clang , make and pkg-config installed.

It also assumed that termux-exec is not broken and works on your device. Environment variable LD_PRELOAD is not tampered or unset. Otherwise you will need to patch modules’ source code to fix all shebangs!

Tip: help us to collect more information about installing Python modules in Termux. You can also help to keep this information up-to-date, because current instructions may eventually become obsolete.

If pip install pyzmq does not work, try: pip install pyzmq —install-option=»—libzmq=/data/data/com.termux/files/usr/lib/libzmq.so»

Advanced installation instructions

Some Python modules may not be easy to install. Here are collected information on how to get them available in your Termux.

Tkinter

Tkinter is splitted of from the python package and can be installed by

We do not provide Tkinter for Python v2.7.x.

Since Tkinter is a graphical library, it will work only if X Windows System environment is installed and running. How to do this, see page Graphical Environment.

Installing Python modules from source

Some modules may not be installable without patching. They should be installed from source code. Here is a quick how-to about installing Python modules from source code.

1. Obtain the source code. You can clone a git repository of your package:

or download source bundle with pip :

2. Optionally, apply the desired changes to source code. There no universal guides on that, perform this step on your own.

3. Optionally, fix the all shebangs. This is not needed if termux-exec is installed and works correctly.

4. Finally install the package:

Troubleshooting

pip doesn’t read config in

    virtualenv doesn’t read config in

  • pip / virtualenv doesn’t follow freedesktop $XDG_CONFIG_HOME / $XDG_DATA_HOME / $XDG_CACHE_HOME .

All of above are because of platformdirs. Platformdirs aims to replace appdirs, since pip v21.3.0 and virtualenv v20.5.0, they started to use platformdirs instead of appdirs. Appdirs doesn’t do anything else on Android, it just follows freedesktop standards. But platformdirs is different, it takes termux as a simple Android app but not a unix evironment.

It it predictable that all packages using platformdirs can’t behave well on termux, see: [1]. Before PR 72 is merged, the only way to fix it is to patch it manually.

There are two copies of platformdirs we need to patch:

  1. Pip vendors its own copy in $PREFIX/lib/pythonX.Y/site-packages/pip/_vendor .
  2. Platformdirs is installed as a dependency in $PREFIX/lib/pythonX.Y/site-packages . (If it was installed by pip install —user , the path is

Every time after we upgrade pip or platformdirs, we need to patch it again.

Patch for platformdirs before v2.5.0:

Patch for platformdirs v2.5.0 or later:

We can simply patch it by:

Notice that the two copies may be different versions, so they need different patches. For example, pip v21.3 and v22.0 use platformdirs v2.4, and the lastest version (on 2022-04-02) is v2.5.1.

Termux шаг за шагом (Часть 2)

В прошлой части мы с вами познакомились с базовыми командами Termux’а, настроили SSH соединение с ПК, научились создавать alias’ы и установили несколько полезных утилит. В этот раз нам предстоит шагнуть еще дальше, мы с вами:

  • узнаем про Termux:API
  • установим Python и nano, а также напишем «Hello, world!» на Python
  • узнаем про bash-скрипты, и напишем скрипт с использованием Termux:API
  • используя bash-скрипт, Termux:API и Python напишем простую программку

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

Я часто применяю alias’ы, поэтому используемые в этой части сокращения показаны здесь:

План готов, можно приступать! И конечно же не забывайте про «волшебный Tab» (См. Часть 1).

Шаг 4

Погружаемся в кроличью нору Termux:API

API как много в этом слове для сердца кодера слилось

Если не затрагивать тему Termux:API, то все наши шаги можно было свести к простому пересказу какой-нибудь брошюры типа «Линукс для чайников», как было справедливо подмечено в комментариях к первой части.

Для начала установим Termux:API из Google Play Market’а (после не помешает перезапустить Termux):

Далее нам нужно установить пакет API в консоли Termux’а:

Для экспериментов я использую Android 5.1.1, для владельцев Android 7 нужно «защитить» Termux: API, зайдя в ‘Настройки’ > ‘Защищенные приложения’, в противном случае вызовы API, такие как termux-battery-status , будут зависать. (См. wiki проекта)

Теперь стоит поближе познакомится с приобретенными возможностями. Самое свежее и подробное описание Termux:API можно найти на wiki проекта. Я же постараюсь выбрать самое наглядное и интересное, что позволит набить руку для самостоятельной работы в дальнейшем.

Несколько примеров Termux:API

    termux-battery-status
    Возвращает состояние батареи

Нетрудно заметить, что возвращаемые значения являются строками, словарями, списками словарей, в общем типами данных, с которыми прекрасно работает Python, поэтому следующим шагом мы его установим.

Шаг 5

Установим Python и nano

Для установки Python’а пишем в терминале:

Теперь у нас установлен 2 и 3 Python.

За время работы над статьей, я открыл для себя еще один текстовый редактор nano, который приглянулся мне больше чем vim, давайте его установим:

Пользоваться им проще чем vim’ом, и nano имеет более дружественный интерфейс. На Android устройстве все же удобнее vim.

HelloWorld на Python в Termux

По большому счету можно было обойтись и без этого пункта, но поставить Python в Termux и не написать HelloWorld, на мой взгляд, моветон.

Я не ставлю своей целью учить кого-либо Python’у, так что не знающие могут просто скопировать код (или начать изучать самостоятельно, благо литературы хватает), а знающие могут и сами что-нибудь наваять. А я «под шумок» еще покажу способ вводить текст в терминале без редактора.

Если в процессе ввода вы не заметили ошибку и уже нажали Enter, то перейти на строку выше не получится, для этого закончите ввод нажав Ctrl + D (можно вообще прервать Ctrl + Z) и повторите все с начала. Поскольку мы использовали ‘>’ то файл будет переписан полностью. По этой причине не рекомендую использовать такой метод ввода, если вы не уверены что напишете код сразу без ошибок.

Шаг 6

Bash-скрипты

Bash-скрипты это замечательный способ автоматизации работы с терминалом. Скрипт представляет из себя файл с расширением .sh (расширение не обязательно) содержащий набор команд терминала часть из которых мы уже изучили. Вот список большинства команд, все должно работать, но обратите внимание, что это список для «взрослого» Linux’а, а не для Termux’а, а вот просто шикарный материал по bash-скриптам.

При помощи скриптов можно автоматизировать практически все монотонные действия. Напишем простейший bash-скрипт выводящий значение из созданной им же переменной, я снова воспользуюсь cat’ом, вы же можете использовать нормальный текстовый редактор, а особо желающие себя потренировать могут использовать echo.

Один добрый человек справедливо заметил, что команда export лишняя если переменная используется в рамках одного скрипта, так как вынесет переменную в окружение, то есть сделает ее доступной вне скрипта, занимая лишнюю память. Таким образом после выполнения test.sh мы сможем обращаться к переменной $str из командной строки.

Bash-скрипт с Termux:API

Давайте напишем уже что-нибудь отличающееся от пресловутых HelloWorld’ов, но столь же бесполезное. Наш скрипт будет:

  1. выполнять запрос API termux-battery-status
  2. сохранять полученные данные в файл test.txt
  3. выводить данные из файла на экран
  4. выполнять написанную ранее программу hello-world.py
  5. полученные от программы данные записывать в файл test.txt
  6. выводить данные из файла на экран
  7. переносить данные из файла в буфер обмена
  8. выводить на экран содержимое буфера обмена
  9. выводить всплывающее сообщение с данными из буфера обмена

Сначала создадим папку для работы и скопируем туда hello-world.py как test.py, создадим в этой папке файлы test.sh и test.txt:

Теперь любым удобным способом в файл test.sh запишем скрипт:

Теперь находясь в папке bashscript пишем ./test.sh наблюдаем в терминале на Android устройстве:

Вот мы и написали запланированный bash-скрипт. Можно разбавить его выводом в консоль информации по выполнению каждого действия (при помощи echo), это оставлю для читателей.

Шаг 7

Сделаем хоть что-то полезное

Относительно полезное

Сформулируем техзадание
Приложение должно после запуска помещать в буфер обмена случайную строку из файла и оповещать об этом всплывающим сообщением.

За основу возьмем bash-скрипт, случайную строку из файла будем извлекать при помощи подпрограммы на Python’е. Составим план работы скрипта:

  1. Запустить подпрограмму
  2. Передать результат работы подпрограммы в буфер обмена
  3. Вывести всплывающее сообщение

Определимся с названиями директории и файлов приложения:

  • папка rndstr в домашней директории
    • source — файл из которого будем брать строки
    • rndstr.py — подпрограмма выводящая в консоль случайную строку из файла source
    • rndstr.sh — файл скрипта

    Создаем директорию приложения и переместившись в нее создаем там файлы.

    Первые два пункта плана скрипта можно объединить конвейером, в итоге, используя Termux:API получаем:

    В файл source вы можете поместить любой текст логически разделенный на строки, я решил поместить афоризмы:

    Нам осталось создать подпрограмму извлекающую случайную строку из файла source.
    Распишем алгоритм работы подпрограммы:

    1. Открываем файл source
    2. Считаем количество строк в открытом файле
    3. Закрываем файл (нечего его лишнее время открытым держать)
    4. Генерируем случайное целое число в пределах количества строк файла source
    5. Открываем файл source
    6. Выводим строку под номером сгенерированного числа
    7. Закрываем файл

    Реализуем алгоритм на Python (я пишу под Python 3.7):

    После того как файлы созданы и записаны, нужно дать права на исполнение файлу rndstr.sh , и создать alias для быстрого запуска.

    Теперь введя в терминале rnst мы получим в буфер обмена случайный афоризм, который, например, можно использовать в переписке.

    Вот мы и написали хоть что-то полезное. Относительно полезное.

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

    Изначально я планировал показать в этом цикле как пользоваться nmap, sqlmap, но и без меня уже много статей на эту тему. Если есть желание, чтобы я продолжил «Termux шаг за шагом», то ниже есть опрос, а в комментариях можете предложить о чем еще написать.

    Как установить Python на телефон Android с помощью Termux

    Вы когда-нибудь задумывались, можете ли вы программировать на Python на своем смартфоне? Написание кода Python на устройствах с сенсорным экраном и маленькими экранами может быть сложной задачей, но это удобная настройка, когда вам просто нужно быстро протестировать скрипт Python, но вы не хотите вставать с постели и включать компьютер.

    Установить Python на Android-смартфон с помощью Termux очень просто. Мы проведем вас через весь процесс, от загрузки Termux до запуска вашего первого приложения Python на вашем устройстве Android. Проверять Некоторые веб-сайты, чтобы научить ваших детей программировать на Python.

    Как установить Python на телефон Android с помощью Termux - Android

    Установите Термукс на Android

    Termux — эмулятор терминала для Android. Чтобы установить его на свой смартфон, перейдите на F-Droid и загрузите последнюю доступную версию APK. Проверять Как использовать командную строку Linux на Android с Termux.

    Как установить Python на телефон Android с помощью Termux - Android

    После загрузки найдите файл APK и нажмите на него, чтобы начать установку. Когда вас попросят подтвердить, коснитесь Установки.

    Хотя Termux доступен для загрузки с Google Play Маркет На момент написания этой статьи предварительно настроенные репозитории выдают ошибку 404 при попытке установить пакет или обновить существующие пакеты.

    Как установить Python на Termux

    Перед установкой Python первым делом нужно обновить существующие пакеты. Менеджером пакетов по умолчанию в Termux является pkg, который очень похож на dpkg в Debian или APT в Ubuntu с точки зрения синтаксиса и аргументов.

    Чтобы обновить пакеты в Termux, выполните команду:

    Когда будет предложено подтвердить Y/N, нажмите Enter идти с настройками по умолчанию. В процессе вам придется сделать это несколько раз.

    Как установить Python на телефон Android с помощью Termux - Android

    Затем введите следующую команду для установки Python:

    Входить Y Когда просят подтвердить.

    Если вы хотите вместо этого установить Python 2, выполните команду:

    PIP и PIP2 будут установлены вместе с пакетами python и python2 соответственно, поэтому будьте уверены, что вы сможете установить библиотеки и модули, с которыми чаще всего работаете.

    Запустите интерактивную оболочку Python

    Когда Python установлен, пришло время проверить, прошла ли установка успешно. В терминале введите «python», чтобы запустить интерактивную оболочку («python2», если вы установили старую версию).

    Если все пойдет хорошо, вы увидите свою версию Python в списке вверху вместе с некоторой полезной информацией. Как и в случае с любым другим языком, проверьте интерпретатор, введя следующую фразу, чтобы напечатать «Hello, World»:

    На выходе будет отображаться строка «Hello, World», а затем возврат в режим ввода. Когда вы достаточно настроили интерактивную оболочку и хотите вернуться в Терминал, введите «Выход()и нажмите Enter.

    Написание моего первого скрипта Python на Termux

    Чтобы сделать еще один шаг, почему бы не создать скрипт Python и не выполнить его с помощью Termux? Для начала откройте карликовый , текстовый редактор на основе терминала для Linux. Если вы хотите использовать другой текстовый редактор, не стесняйтесь установить его с помощью команды pkg install.

    Введите следующее, чтобы создать новый файл сценария Python в текущем каталоге:

    Добавьте в файл следующие строки кода:

    Для сохранения изменений в файл нажмите кнопку Ctrl И нажмите O. Затем нажмите Enter чтобы сохранить файл. Чтобы выйти из нано, нажмите Ctrl и Х.

    Как установить Python на телефон Android с помощью Termux - Android

    Запустите скрипт, введя следующую команду:

    Каждый пользователь Python 2 должен будет заменить «python» в приведенной выше команде на «python2». Скрипт отобразит «Hello, World» и спросит ваше имя. Как только вы выберете его и нажмете Enter, он выведет окончательную строку с вашим именем, добавленным в конце.

    Вы также можете использовать PyDroid для написания кода Python на своем Android-смартфоне. Помимо программирования на Python, Termux позволяет использовать командную строку Linux, включая все стандартные утилиты. Проверять Как установить и кодировать Python на Android с Pydroid 3.

    Программирование на Python, не выходя из вашего смартфона

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

    Хотя разработка полного приложения с использованием вашего смартфона сложна, это возможно, хотя и требует много времени. Но прежде чем вы сможете это сделать, вы должны быть знакомы с Python или каким-либо другим языком программирования. Вы можете просмотреть сейчас Лучшие языки разработки мобильных игр, которые вы должны выучить сегодня.

    Как установить python3 на termux

    Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python’s design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.

    In Termux Python v3.x can be installed by executing

    Legacy, deprecated version 2.7.x can be installed by

    Warning: upgrading major/minor version of Python package, for example from Python 3.8 to 3.9, will make all your currently installed modules unusable. You will need to reinstall them. However upgrading patch versions, for example from 3.8.1 to 3.8.2, is safe.

    Due to our infrastructure limits, we do not provide older versions of packages. If you accidentally upgraded to unsuitable Python version and do not have backups to rollback, do not complain! We recommend doing backups of $PREFIX for developers and other people who rely on specific software versions.

    Contents

    Package management

    After installing Python, pip ( pip2 if using python2) package manager will be available. Here is a quick tutorial about its usage.

    Installing a new Python module:

    Uninstalling Python module:

    Listing installed modules:

    When installing Python modules, it is highly recommended to have a package build-essential to be installed — some modules compile native extensions during their installation.

    A few python packages are available from termux’s package manager (for python3 only), and should be installed from there to avoid compilation errors. This is the case for:

    • electrum, pkg install electrum
    • opencv, pkg install opencv-python
    • asciinema, pkg install asciinema
    • matplotlib, pkg install matplotlib

    Python module installation tips and tricks

    It is assumed that you have build-essential or at least clang , make and pkg-config installed.

    It also assumed that termux-exec is not broken and works on your device. Environment variable LD_PRELOAD is not tampered or unset. Otherwise you will need to patch modules’ source code to fix all shebangs!

    Tip: help us to collect more information about installing Python modules in Termux. You can also help to keep this information up-to-date, because current instructions may eventually become obsolete.

    If pip install pyzmq does not work, try: pip install pyzmq —install-option=»—libzmq=/data/data/com.termux/files/usr/lib/libzmq.so»

    Advanced installation instructions

    Some Python modules may not be easy to install. Here are collected information on how to get them available in your Termux.

    Tkinter

    Tkinter is splitted of from the python package and can be installed by

    We do not provide Tkinter for Python v2.7.x.

    Since Tkinter is a graphical library, it will work only if X Windows System environment is installed and running. How to do this, see page Graphical Environment.

    Installing Python modules from source

    Some modules may not be installable without patching. They should be installed from source code. Here is a quick how-to about installing Python modules from source code.

    1. Obtain the source code. You can clone a git repository of your package:

    or download source bundle with pip :

    2. Optionally, apply the desired changes to source code. There no universal guides on that, perform this step on your own.

    3. Optionally, fix the all shebangs. This is not needed if termux-exec is installed and works correctly.

    4. Finally install the package:

    Troubleshooting

    pip doesn’t read config in
      virtualenv doesn’t read config in
    • pip / virtualenv doesn’t follow freedesktop $XDG_CONFIG_HOME / $XDG_DATA_HOME / $XDG_CACHE_HOME .

    All of above are because of platformdirs. Platformdirs aims to replace appdirs, since pip v21.3.0 and virtualenv v20.5.0, they started to use platformdirs instead of appdirs. Appdirs doesn’t do anything else on Android, it just follows freedesktop standards. But platformdirs is different, it takes termux as a simple Android app but not a unix evironment.

    It it predictable that all packages using platformdirs can’t behave well on termux, see: [1]. Before PR 72 is merged, the only way to fix it is to patch it manually.

    There are two copies of platformdirs we need to patch:

    1. Pip vendors its own copy in $PREFIX/lib/pythonX.Y/site-packages/pip/_vendor .
    2. Platformdirs is installed as a dependency in $PREFIX/lib/pythonX.Y/site-packages . (If it was installed by pip install —user , the path is

    Every time after we upgrade pip or platformdirs, we need to patch it again.

    Patch for platformdirs before v2.5.0:

    Patch for platformdirs v2.5.0 or later:

    We can simply patch it by:

    Notice that the two copies may be different versions, so they need different patches. For example, pip v21.3 and v22.0 use platformdirs v2.4, and the lastest version (on 2022-04-02) is v2.5.1.

    Читать:
    Что можно скачать в стиме

Похожие статьи