Как обновить `pip` в Termux?
Есть ли на данный момент рабочий способ обновить pip в Termux? Кто пользовался, знает, что обычным способом pip install —upgrade pip обновить нельзя, так как сам Termux запрещает, так как это может убить весь пакет Python.. Я пытаюсь установить библиотеки, и постоянно вырезаюсь в проблемы, которые обновление pip вероятно бы решило. Столько костылей из интернета уже перепробовал, и до сих пор ошибки возникают.
Отслеживать
задан 21 янв в 3:02
С 99% уверенности можно утверждать, что — нет, не решило бы
21 янв в 3:26
Попробуйте python -m pip install —upgrade pip . Скажете, получится или нет.
21 янв в 6:47
@PetəíŕdTheLinuxWizard нет, не работает. Termux по-прежнему блокирует.
22 янв в 10:51
0
Сортировка: Сброс на вариант по умолчанию
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
- python
- pip
- termux
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.
Package Description Dependencies Special Instructions gmpy2 C-coded Python modules for fast multiple-precision arithmetic.
https://github.com/aleaxit/gmpylibgmp libmpc libmpfr lxml Bindings to libxml2 and libxslt.
https://lxml.de/libxml2 libxslt pandas Flexible and powerful data analysis / manipulation library for Python.
https://pandas.pydata.org/export CFLAGS=»-Wno-deprecated-declarations -Wno-unreachable-code»
pip install pandaspynacl Bindings to the Networking and Cryptography library.
https://pypi.python.org/pypi/PyNaCllibsodium pillow Python Imaging Library.
https://pillow.readthedocs.io/en/stable/libjpeg-turbo libpng 64-bit devices require running export LDFLAGS=»-L/system/lib64″ before pip command. pyzmq Bindings to libzmq.
https://pyzmq.readthedocs.io/en/latest/libzmq On some devices the libzmq library can’t be found by setup.py. 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.
Как установить pip в termux
Узнайте, как установить IDE Pydroid 3 на Android, а также полезные инструменты и библиотеки для практики программирования на Python!
«Мобильное» кодирование на Python возможно благодаря использованию интегрированной среды разработки Pydroid 3 (IDE). Pydroid — это минималистичный интерпретатор Python 3, который позволяет вам выполнять небольшие проекты в буквальном смысле на весу, разрабатывая и отлаживая программный код на вашем устройстве Android — будь то планшет или смартфон.
Если вы также хотите изучать программирование на Python в любом месте где нет ПК или ноутбука, то есть смысл воспользоваться Python для ПК, адаптированным для запуска в операционной системе Android. «Питон для Андроида» имеет собственное имя — Pydroid 3 — и это то, что вам нужно попробовать.
Сразу отметим, что отладчиков Python, разработанных для Android — несколько. Отличия — в функционале, цене, скорости и стабильности. Далее погрузимся в тему чуть глубже.

Независимо от того, являетесь ли вы новичком в программировании на Python или являетесь экспертом, давайте посмотрим, как вы можете использовать Pydroid 3 в полной мере на своем устройстве Android.
Установите Pydroid 3 И Его Плагины
IDE Pydroid 3 доступна в Google Play Store. Однако, чтобы сделать приложение более полезным и простым в работе, вам необходимо загрузить плагин репозитория Pydroid из Play Store. Хотя установка этого плагина может быть не обязательной, он значительно упрощает автоматическую установку пакетов через pip. Напомним, оригинальный интерпретатор Python также имеет возможность самообновления путем подключения к хранилищу — репозиторию.
По умолчанию Pydroid 3 не имеет разрешения на доступ к памяти вашего устройства. Это делает создание папок проекта трудным или невозможным без некоторых технических манипуляций. Чтобы решить эту проблему, загрузите плагин разрешений Pydroid из Play Store, который разрешит Pydroid создавать папки и файлы на вашем устройстве.
Полезные ссылки
- Скачать: Pydroid 3 — IDE для Python 3 (доступны бесплатные покупки в приложении)
- Скачать: Плагин репозитория Pydroid (бесплатно)
- Скачать: Плагин разрешений Pydroid (бесплатно)
Пакеты Установки Pip
После того, как вы все настроили, вы можете начать использовать команду pip для установки пакетов для своих проектов, ровно также, как вы это делаете на ПК. Pydroid 3 поставляется с интерфейсом, который позволяет устанавливать пакеты без написания команд в терминале.
Есть несколько способов установить пакеты pip на Pydroid 3. Чтобы получить доступ к этой функции, нажмите значок меню (который выглядит как три линии) в верхнем левом углу приложения. Далее перейдите к строке Pip. В верхней части меню Pip выберите ПОИСК БИБЛИОТЕК(Search Libraries), чтобы получить дополнительные параметры модуля, который вы хотите установить. Или вы можете нажать на опцию БЫСТРАЯ УСТАНОВКА(Quick Install), чтобы установить пакеты, предлагаемые к установке по умолчанию.

Однако лучший вариант — нажать на УСТАНОВИТЬ(Install) и установить флажок «Использовать готовый репозиторий библиотек»(Use prebuild libraries repository). Затем введите предпочтительное имя пакета в строке поиска и нажмите кнопку УСТАНОВИТЬ , чтобы получить желанный пакет.
Чтобы проверить, успешно ли был установлен пакет, коснитесь пункта меню БИБЛИОТЕКИ(Libraries) . Это меню дает вам доступ к списку всех установленных библиотек:

Используйте Встроенный Интерфейс Командной Строки Pydroid 3
Pydroid 3 также предлагает и классический минимальный интерфейс командной строки (CLI) Linux. Чтобы получить к нему доступ, нажмите значок меню в верхнем левом углу приложения и выберите Терминал (Terminal):

Хотя запуск команды pip install packages через встроенный терминал занимает некоторое время для загрузки, она по-прежнему позволяет легко перемещаться между папками и создавать новые везде, где на вашем устройстве разрешена запись. Отметим что медленная загрузка пакетов установки pip через терминал является незначительной проблемой для Pydroid IDE.
Если вы хотите использовать предоставленную командную строку для каких-либо других целей, то имейте ввиду, что ОС Android построена на Linux, поэтому вам необходимо иметь общее представление о том, как использовать командную строку Linux.
Используйте оболочку Python
Пустая страница, которая появляется при открытии Pydroid 3, является его встроенной оболочкой Python. Как и оболочка Python на вашем ПК, она по умолчанию видит любую написанную на ней команду как код Python.
Чтобы использовать оболочку, введите любую команду Python и нажмите большую кнопку запуска в нижнем левом углу редактора. Это откроет интерпретатор Python, который отобразит работу вашего кода.
Однако вы также можете получить доступ к оболочке Python и из командной строки. Для этого перейдите в Терминал , щелкнув значок с тремя линиями в верхнем левом углу приложения. Затем введите python и коснитесь стрелки ввода на виртуальной клавиатуре, чтобы открыть интерпретатор Python в командной строке.
Закончив работу, введите exit (), чтобы покинуть оболочку Python командной строки.

Сохраняйте Папки И Файлы На Вашем Устройстве
Как и любой другой редактор кода, Pydroid 3 имеет интерфейс, который позволяет сохранять файл в любой названной папке на вашем устройстве. Если вы хотите создать папку проекта, вы также можете сохранить новые папки с нужными параметрами сохранения файлов.
Чтобы использовать начать работу с папками, нажмите значок папки в правом верхнем углу оболочки редактирования. Нажмите « Сохранить» и выберите « InternalStorage» . Затем нажмите на предпочтительную папку назначения и нажмите ВЫБРАТЬ ПАПКУ в верхней части экрана. В следующем меню введите желаемое имя файла и нажмите СОХРАНИТЬ .

Однако, если вы хотите создать новую папку проекта, повторите описанный выше процесс, но коснитесь параметра НОВАЯ ПАПКА вместо ВЫБРАТЬ ПАПКУ . Дайте вашей новой папке желаемое имя и нажмите СОЗДАТЬ, чтобы сохранить папку. Затем нажмите на пункт ВЫБРАТЬ ПАПКУ . Назовите новый файл и коснитесь СОХРАНИТЬ, чтобы сохранить новый файл в только что созданной папке.
Обратите внимание, что вновь созданному файлу не требуется расширение файла, если это файл Python. Но если вам нужно использовать другой языковой файл для обслуживания вашего проекта, убедитесь, что вы использовали расширение файла, которое применяется к этому языку, при сохранении такого файла. Например, файл CSS следует сохранить как Name.css , заменив Name предпочтительным именем файла.

Чтобы обновить изменения, внесенные в существующий файл, коснитесь значка папки в правом верхнем углу редактора и выберите « Сохранить» .
Чтобы создать новый файл полностью, коснитесь значка папки. Выберите « Создать» и следуйте инструкциям, выделенным ранее, чтобы сохранить файл в папке. Если вы хотите, чтобы ваш новый файл находился в том же каталоге, что и существующий, убедитесь, что вы выбрали ту же папку, которая содержит существующий.
Публикация исходного кода на Pastebin
Если пожелаете, Вы можете поделиться своими знаниями и прогрессом в изучении с другими пользователями на платформе Pastebin. Для этого коснитесь меню из трех линий в верхнем левом углу приложения. Затем выберите Pastebin и нажмите Да . В следующем всплывающем меню нажмите КОПИРОВАТЬ URL-адрес, чтобы скопировать ссылку на исходный код.

Откройте любой браузер на своем устройстве Android и вставьте скопированную ссылку в строку поиска, чтобы увидеть исходный код на Pastebin. Вы также можете поделиться этой ссылкой с людьми, которым вы хотите предоставить доступ к своему коду.
Настройка IDE
Вы также можете настроить среду разработки, если хотите. Чтобы изменить внешний вид редактора, коснитесь значка настройки в верхнем левом углу экрана и перейдите в « Настройки»> «Внешний вид», чтобы переключиться на предпочитаемую тему, или выберите другие доступные параметры внешнего вида.

Чтобы получить дополнительные возможности настройки, коснитесь параметра « Редактор» и выберите свои предпочтения. Вы также можете коснуться других опций в меню настроек, чтобы увидеть доступные вам опции.
Когда вы щелкаете по значку меню, параметр «Настройки терминала» также предлагает некоторые конфигурации терминала.
Pydroid 3 — Виртуальная Среда Python Для Android
При установке Pydroid 3 IDLE на ваше устройство Android автоматически загружается и устанавливается Python 3. Однако установленный Pydroid 3 IDLE для Python функционирует как виртуальная среда на Android и попытка запустить оболочку Python вне командной строки Pydroid IDLE выдает ошибку.
Если вы хотите попробовать работать в этом режиме, вам необходимо установить специальное стороннее приложение Android CMD (предпочтительно Termux из Google Play Store).
После установки Termux откройте его, убедившись, что вы также установили Pydroid 3. Затем введите python в Termux CMD. Он выдает ошибку каталога файлов, указывающую, что Python не существует в глобальном пространстве Android до его установки с помощью команды pkg install python через Termux.
Однако запуск python на встроенном терминале Pydroid 3 успешно входит в оболочку Python.
Можете Ли Вы Использовать Pydroid Для Любого Проекта?
Хотя написание и запуск кода Питона на Android может быть интересным, использование Pydroid для управления большим проектом не рекомендуется. Однако это еще один способ заняться мелкими проектами, особенно когда они не предназначены для долгосрочных реальных целей.
Помимо управления небольшими проектами, Pydroid 3 также является отличным инструментом, с которым можно поиграть, чтобы улучшить свои навыки программирования на Python, особенно если у вас нет ПК для запуска программ Python.
Поделиться:
Оставьте свой комментарий!
Установка пакетов в 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 и хотите выбрать зеркало позже, выполните команду:
- 2.1 Advanced installation instructions