首页 > 解决方案 > 将 python kivy 应用程序部署到使用 spacy 的 android 失败并出现错误“ujson.so”是 64 位而不是 32 位“

问题描述

我正在为 android 构建我的第一个 kivy 应用程序。我想为自然语言处理包括“spacy”。看起来导入 spacy 依赖于 'ujson' 并且我构建的任何导入 spacy 并需要 'ujson' 的应用程序都失败并出现错误:

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

关于解决的简单方法的任何想法,即我如何使用 32 位 ujson?

这可以通过一个非常简单的 python kivy 应用程序来复制,该应用程序只需导入 spacy,不需要使用它。

这是在使用 buildozer 的 ubuntu VM 上完成的。

[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

标签: androidkivy32bit-64bitbuildozerujson

解决方案


推荐阅读