joaoventura / pybridge

Reuse Python code in native Android applications
215 stars 56 forks source link

How do i install packages in python ? #32

Closed ruvelrp closed 4 years ago

ruvelrp commented 4 years ago

I want to run a Django web server on my native android device using java code. So for that, I need to install some packages using pip install, since no documentation is provided with the code example here I am curious how to install it also will pyBridge support running Django webserver?

pmp-p commented 4 years ago

hi, then i'd say you don't need a bridge but a sdk instead, since building pip extensions may require a lot of the magic required to build libpython.so. @joaoventura do you have any plan to host android wheels just for a test run ? it could be a fun experiment :)

joaoventura commented 4 years ago

I have switched from crystax ndk to python-for-android and they seem to have some recipes available. But I still haven't tried to use them, or how easy is to create a recipe for a package they don't have..

https://github.com/kivy/python-for-android/tree/develop/pythonforandroid/recipes

pmp-p commented 4 years ago

pip android is not much harder than "pip install --no-use-pep517 --no-binary :all: -r requirements.txt" followed by a python_for_build setup.py for the guy with the build tree (you). So for user a repo with tested wheels would be awesome.

Python-for-android is maybe a bit too dedicated to kivy pipeline and inherited stuff from crystax and py2 do you really want to stick with it ?

You could also use: https://github.com/pmp-p/pydk (3.8.2 api19+ with already some pip integration, and basic async support for JNI operation). https://github.com/beeware/Python-Android-support/tree/3.7 api 21+. or the original flavour of all https://gitlab.com/xdegaye/abifa.

I think modules distribution is actually the weak spot for all the solutions available, so my question stays "do you have any plan to host android wheels for a test run ?"