how to build the droidrun on the termux
Thank you for your great work. I want build the droidrun on the termux which runs on the android phone. My environments are as follows:
- android phone
- termux
- python 3.12
First I git clone the code with command "git clone https://github.com/droidrun/droidrun.git" and then
python -m env myenv, source myenv/bin/activate pip install -e .
however I got the error as follows:
Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [3 lines of output] Python reports SOABI: cpython-312 Unsupported platform: 312 Rust not found, installing into a temporary directory [end of output]
note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed
× Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip.
how can i fix this issue? thank you in advanced
Currently not possible. There are some workarounds depending on what you are trying to achieve.
There are some workarounds depending on what you are trying to achieve.
However in this issue " https://github.com/droidrun/droidrun/issues/75#issue-3184099932",
the asker has said that he install droidrun in Termux on the Client device and the Client device is android.
So i think it can install droidrun in Termux
Thats actually dope. Thanks for pointing that out.
To address your error, I would try run this instead.
git clone and change directory to droidrun cd
pip install -U uv
uv venv --python 3.13
source .venv/bin/activate
uv pip install -e .
Thats actually dope. Thanks for pointing that out.
To address your error, I would try run this instead.
git clone and change directory to droidrun
cd
pip install -U uvuv venv --python 3.13source .venv/bin/activateuv pip install -e .
Thank you for ur kindly reply. I just tried as ur steps. The only difference is I use the uv venv --python 3.12. unfortunely, there are also errors:
Resolved 177 packages in 2.83s Building droidrun @ file:///data/data/com.termux/ Building cffi==1.17.1 Building regex==2025.7.34 Building tokenizers==0.21.4 Building safetensors==0.6.2 Building psutil==7.0.0 Building greenlet==3.2.4 Building hf-xet==1.1.8 Building jiter==0.10.0 × Failed to build
tiktoken==0.11.0├─▶ The build backend returned an error ╰─▶ Call tosetuptools.build_meta.build_wheelfailed (exit status: 1) [stdout] running bdist_wheel running build running build_py creating build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/init.py -> build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/_educational.py -> build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/core.py -> build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/load.py -> build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/model.py -> build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/registry.py -> build/lib.linux-aarch64-cpython-312/tiktoken creating build/lib.linux-aarch64-cpython-312/tiktoken_ext copying tiktoken_ext/openai_public.py -> build/lib.linux-aarch64-cpython-312/tiktoken_ext running egg_info writing tiktoken.egg-info/PKG-INFO writing dependency_links to tiktoken.egg-info/dependency_links.txt writing requirements to tiktoken.egg-info/requires.txt writing top-level names to tiktoken.egg-info/top_level.txt reading manifest file 'tiktoken.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'tiktoken.egg-info/SOURCES.txt' copying tiktoken/py.typed -> build/lib.linux-aarch64-cpython-312/tiktoken running build_ext running build_rust
[stderr] /data/data/com.termux/files/home/.cache/uv/builds-v0/.tmpPcwXWK/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning:project.licenseas a TOML table is deprecated !!
********************************************************************************
Please use a simple string
containing a SPDX expression for
`project.license`. You can also use
`project.license-files`. (Both options available on setuptools>=77.0.0).
By 2026-Feb-18, you need to update your project and remove
deprecated calls or your builds will no longer be
supported.
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license
for details.
********************************************************************************
!!
corresp(dist, value, root_dir) warning: no files found matching 'Makefile'
error: can't find Rust compiler
If you are using an outdated pip
version, it is possible a prebuilt wheel is available for this package but pip is
not able to install from it. Installing from the wheel would avoid the need for
a Rust compiler.
To update pip, run:
pip install --upgrade pip
and then retry package installation.
If you did intend to build this package
from source, try installing a Rust compiler from your system package
manager and ensure it is on the PATH
[ during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and](https://protect2.fireeye.com/v1/url?k=f2c9f3e8-ad52caf7-f2c878a7-000babdfecba-0bff1804db15f604&q=1&e=deb65fa0-e404-452b-9c9c-31764110bda6&u=https%3A%2F%2Frustup.rs%2F)
update the Rust compiler toolchain.
hint: This usually indicates a
problem with the package or the build
environment. help: `tiktoken` (v0.11.0) was included
because `droidrun` (v0.3.5) depends
on `llama-index-llms-openai` (v0.4.7) which depends on `llama-index-core`
(v0.12.52.post1) which depends on
`tiktoken`
I modified my bashrc file to start termux with an options menu. Standard ui or directly to the gemini cli which i run directly in the home directory (despite the warnings which are dumb because it is the best thing to ever happen to my tmux env.).
Long story short, add shizuku to your termux and then the gemini cli and have gemini run the commands and diagnose / correct the errors as they occur. It's pretty useful for objectives like this. That's how i made it work for me. Non rooted moto g stylus 2023 4g.
I modified my bashrc file to start termux with an options menu. Standard ui or directly to the gemini cli which i run directly in the home directory (despite the warnings which are dumb because it is the best thing to ever happen to my tmux env.).
Long story short, add shizuku to your termux and then the gemini cli and have gemini run the commands and diagnose / correct the errors as they occur. It's pretty useful for objectives like this. That's how i made it work for me. Non rooted moto g stylus 2023 4g.
In fact , My android phone has already been rooted.