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
pkg install python
Legacy, deprecated version 2.7.x can be installed by
pkg install python2
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
- 1 Package management
- 2 Python module installation tips and tricks
- 2.1 Advanced installation instructions
- 2.1.1 Tkinter
- 3.1 pip doesn’t read config in ~/.config/pip/pip.conf
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:
pip install
Uninstalling Python module:
pip uninstall
Listing installed modules:
pip list
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
pkg install python-tkinter
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:
git clone https://your-package-repo-url cd ./your-package-repo
or download source bundle with pip :
pip download unzip .zip cd
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.
find . -type f -not -path '*/\.*' -exec termux-fix-shebang "<>" \;
4. Finally install the package:
python setup.py install
Troubleshooting
pip doesn’t read config in ~/.config/pip/pip.conf
- virtualenv doesn’t read config in ~/.config/virtualenv/virtualenv.ini / stores its data in /data/data/com.termux/files/virtualenv .
- pip / virtualenv doesn’t follow freedesktop $XDG_CONFIG_HOME / $XDG_DATA_HOME / $XDG_CACHE_HOME .
- pylint / black doesn’t store its cache in ~/.cache but stores its cache in /data/data/com.termux/cache .
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:
- Pip vendors its own copy in $PREFIX/lib/pythonX.Y/site-packages/pip/_vendor .
- Platformdirs is installed as a dependency in $PREFIX/lib/pythonX.Y/site-packages . (If it was installed by pip install —user , the path is ~/.local/lib/pythonX.Y/site-packages .)
Every time after we upgrade pip or platformdirs, we need to patch it again.
Patch for platformdirs before v2.5.0:
--- __init__.py.bak 2022-03-09 02:21:09.888903935 +0800 +++ __init__.py 2022-04-02 02:37:05.802427311 +0800 @@ -18,7 +18,7 @@ def _set_platform_dir_class() -> type[PlatformDirsABC]: - if os.getenv("ANDROID_DATA") == "/data" and os.getenv("ANDROID_ROOT") == "/system": + if os.getenv("ANDROID_DATA") == "/data" and os.getenv("ANDROID_ROOT") == "/system" and os.getenv("SHELL") is None: module, name = "pip._vendor.platformdirs.android", "Android" elif sys.platform == "win32": module, name = "pip._vendor.platformdirs.windows", "Windows"
Patch for platformdirs v2.5.0 or later:
--- __init__.py.bak 2022-03-09 02:29:15.338903750 +0800 +++ __init__.py 2022-04-02 02:44:38.992427138 +0800 @@ -25,6 +25,10 @@ from platformdirs.unix import Unix as Result if os.getenv("ANDROID_DATA") == "/data" and os.getenv("ANDROID_ROOT") == "/system": + + if os.getenv("SHELL") is not None: + return Result + from platformdirs.android import _android_folder if _android_folder() is not None:
We can simply patch it by:
patch ~/../usr/lib/python3.10/site-packages/pip/_vendor/platformdirs/__init__.py -i platformdirs.patch
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
Мы уже рассказывали, как сделать хакерский смартфон с помощью Termux и Kali. Сегодня я покажу как устанавливать пакеты в Termux.
Termux — это простой и удобный терминал, предоставляющий множество возможностей среды Linux. Он позволяет выполнять команды в подходящей среде, избегая необходимости предварительной настройки окружения.
Как установить пакеты в Termux
Установить Termux можно разными способами, самый простой — из Google Play.
Теперь установим некоторые важные базовые инструменты, которые необходимы для установки пакетов.
Обновление pkg
pkg update
pkg upgradeУстановка всех необходимых версий Python
pkg install python
pkg install python2
pkg install python3Установка pip
pkg install python — pip
Установка git
pkg install git
Установка wget
pkg install wget
Установка пакетов в Termux
Можно приступать к работе и устанавливать пакеты в Termux. За установку пакетов отвечает команда pkg install .
pkg install имя-пакета
Удаление пакетов из Termux
С помощью следующей команды, вы можете удалить пакеты из Termux.
pkg uninstall имя-пакета
Пакет будет удален, но останутся файлы конфигурации. Если нужно их удалить, используйте команду apt purge .
Команда List отобразит все установленный пакеты.
pkg list — all
Обновление пакетов в Termux
Перед установкой нового пакета настоятельно рекомендуется обновить установленные пакеты. Обновить пакеты можно с помощью команды:
pkg upgrade
Я рекомендую проверять наличие обновлений минимум раз в месяц или перед установкой новых пакетов.
Шпаргалка по командам
pkg autoclean Удаление устаревших файлов .deb из кеша. pkg clean Удаление всех файлов .deb из кеша. pkg files Список файлов, установленных указанным пакетом. pkg list — all Список всех доступных пакетов. pkg list — installed Список установленных пакетов. pkg reinstall Переустановить пакет. pkg search Поиск пакета. pkg show Получение информации о пакете. Репозитории и зеркала Termux
Termux не поддерживает пакеты из репозиториев Debian, Ubuntu и других дистрибутивов Linux. Поэтому не пытайтесь поместить их в свой sources.list или вручную устанавливать файлы .deb.
Зеркала — это серверы, на которых хранятся пакеты Termux. Выбор зеркала позволяет определить, откуда загружать пакеты.
Чтобы выбрать зеркало или группу зеркал в Termux, выполните следующие шаги:
- Запустите Termux на своем устройстве Android.
- При появлении запроса на выбор зеркала или группы зеркал введите номер, соответствующий вашему выбору. Обычно доступно несколько вариантов.
- Нажмите клавишу Enter, чтобы подтвердить выбор.
Выбор зеркала может зависеть от вашего местоположения и доступности серверов. Если одно зеркало не работает или загрузка пакетов слишком медленная, вы всегда можете повторить процесс и выбрать другое зеркало.
Если вы пропустили этот шаг при первом запуске Termux и хотите выбрать зеркало позже, выполните команду:
Saved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
How to install python 3.8 #3189
monkeycc started this conversation in General
Jan 15, 2023 · 2 comments · 2 replies
Something went wrong.
Quote reply>’s edit
<> deleted this content .
>’s edit
Something went wrong.
Jan 15, 2023How to install python 3.8
pkg uninstall python -y apt install python3.8 -y pkg install tur-repo pkg update pkg install python3.8
python -V bash: /data/data/com.termux/files/usr/bin/python: No such file or directory
Beta Was this translation helpful? Give feedback.
7 You must be logged in to vote
Replies: 2 comments · 2 replies
Something went wrong.
Quote reply
2096779623
Jan 15, 2023
Maintainerln -s $PREFIX/bin/python3.8 $PREFIX/bin/python
Beta Was this translation helpful? Give feedback.
5 You must be logged in to vote
Something went wrong.
Quote replythank you
Problem solvingcd /data/data/com.termux/files/usr/bin
ln -sf python3.8 pythonBeta Was this translation helpful? Give feedback.
Something went wrong.
Quote reply
Preetham1729
Sep 18, 2023 ~ apt install python3.8 -y Reading package lists. Done Building dependency tree. Done Reading state information. Done E: Unable to locate package python3.8 E: Couldn't find any package by glob 'python3.8'
What’s the issue with my version of termux? Any solutions for this?
Beta Was this translation helpful? Give feedback.
2 You must be logged in to vote
All reactions
Something went wrong.
Quote replyYou can try the workaround mentioned above;
ln -s $PREFIX/bin/python3.8 $PREFIX/bin/python
Which will symlink the current version of Python (3.11.5 as of writing), to python3.8
Thus typing in python3.8 will run the latest version of python.
Which is probably going to be fine for whatever you want to run.If it is not fine for whatever reason, and please test with the current version first, then you can install Python 3.8 from the TUR.
apt install tur-repo apt install python3.8
Python version and environment management is a pain in the ass.
So if you can just use the current version, use it.Beta Was this translation helpful? Give feedback.
- 1
- ❤️ 1
Termux. Обзор и установка эмулятора на Android.
В этой статье я расскажу об эмуляторе Termux. Покажу где скачать, дам небольшой обзор основных пакетов , так же поставим вместо базовой — свою оболочку oh-my-zsh + установим довольно ходовую тему agnoster как бонус. Еще поставим клаву для удобства, с поддержкой всех основных клавиш, как на компе. Короче сделаем все красиво. Гоу
Что такое термукс?
Termux — это эмулятор терминала и окружения Linux. По установке присутствуют встроенные менеджеры пакетов APT и PKG, с помощью коих без проблем можно заинсталить все, что нужно(почти все): git, python, perl, браузеры, архиваторы и т.д. Полное описание смотрите на оф сайте.
Так же на него можно установить Arch linux, туда подвязать репозитории BlackArch и ArchStrike и юзать околи 2к с чем то утилит для пентеста, реверса, форензики и т.д, что есть в Kali:) Но это мы рассмотрим позже.Качаем, ставим, обновляемся.
Первым делом заходим на гугл плэй ТЫЦ устанавливаем.
Запускаем и сразу обновляем пакеты и сам APT. Пишем:
Установка пакетов
Сразу рекомендую поставить нужные(как по мне) пакеты написав:
apt install git wget nano python python-dev python2 python2-dev perl clang libxslt libxslt-dev zsh
Кратко:
git — менеджер пакетов для репозитория github.
wget — для скачивания файлов с интернета по прямым ссылкам.
nano — текстовый редактор.
python — интерпретатор языка python 3. python-dev — пакет разработчика
python2 — тоже самое только версия 2.7, ну и конечно поддержка его прекращается.
Но мы его ставим, ведь тонна прог все еще написана на нем.
python2-dev — так же пакет для разраба.
perl — интерпретатор перла.
clang — компиль для сишных языков
Так же вместе с питонами автоматом ставятся и менеджеры написанного софта и библиотек на питоне — pip и pip2 что нам дальше очень пригодятся.Эти нужны для установки lxml :
libxslt
libxslt-dev
libxml2lxml нам понадобится дальше.
Ну и zsh это оболочка или же шелл, который мы будем инсталить и использовать вместо стандартной классики ☺
Ставим zsh и настраиваем тему agnoster
Вот официальный репозиторий Тыц на гитхабе, можно установиться с него.
Там все доходчиво написано как это сделать, но т.к. у меня почему то постоянно какая то дичь со шрифтами происходит из за того метода, то мы пойдем другим путем и сделаем все быстрее и проще ☺
Так же там есть обзоры других тем, а их довольно не мало. Так что смотрите, мож что другое понравится..Кто есть на хабе, так же заходите и если нравится софт, ставте звезды разрабам. Вроде мелочь, но написание софта бесплатного и с открытым исходным кодом держится на энтузиазме, который может и угаснуть, сами понимаете. Человек с этого ничего не имеет, а люди пользуются. Так что хоть как то, если не пожертвовать копейку, то хоть звездой поблагодарить то можно(мое имхо).
Клоним с гитхаба папку с инсталлером.
git clone https://github.com/adi1090x/termux-omz
Далее заходим в папку и ставим права на setup
Смотрим все ли нормально, введя команду
Если права дались, то наш файл выделится зеленым цветом.
Запускаем скрипт командой
Если все установилось отлично, то оформление изменится как на скрине. Ну как вам? Поприятней?☺
Ставим Hackers keyboard
Тут просто.
Идем в маркет и ставим эту расскладку тыц .Идем в настройки/язык и ввод на дроиде , меняем стандартную. Расскладка настраивается в самом этом приложении. Там же размер и языки и другие фишки.Заключение
В общем старт мы дали. Надеюсь, что пишу читабельно и если что, пишите в личку свои пожелания и здравую критику.
Спасибо за внимание.
- 2.1 Advanced installation instructions