Deploying python kivy app to android that uses spacy fails with error “ujson.so” is 64-bit instead of 32-bit"

68 views
Skip to first unread message

steve

unread,
Apr 24, 2019, 4:24:19 PM4/24/19
to Kivy users support

I am building my first kivy application for android. I want to include 'spacy' for natural language processing. Looks like importing spacy is dependent on 'ujson' and any app I build that imports spacy and requires 'ujson' fails with the error:


ImportError: dlopen failed: 
"/data/data/org.kivy_test.kivy_test/files/app/_python_bundle/site- 
packages/srsly/ujson/ujson.so" is 64-bit instead of 32-bit


Any ideas on a simple way to resolve, ie how could I use 32-bit ujson?

This can be reproduced with a very simple python kivy app that simply imports spacy, no requirement to use it.

This is being done on an ubuntu VM using buildozer.



[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0]

buildozer.spec  
requirements = python3,kivy,spacy,thinc,numpy,srsly
osx.python_version = 3
osx.kivy_version = 1.9.1
android.arch = armeabi-v7a



 I have seen similar issues, different libs, but no clear (to me) solutions. I have found the following "ujson" recipe, but not sure if this is what I need, or how to use it? 


https://github.com/kivy/python-for-android/blob/master/pythonforandroid/recipes/ujson/__init__.py



Reply all
Reply to author
Forward
0 new messages