python - NLTK 不能在带有 KivyMD 的 Android Buildozer 应用程序中工作
问题描述
我正在使用 KivyMD 制作一个使用 NLTK 的基本应用程序。该程序在 Pycharm IDE 中运行良好,但在使用 Buildozer 编译时,Android App 打开后崩溃。JSON 可以很好地导入 json 文件数据集;所以,我想..NLTK 有一些问题。这是main.py文件:
import kivymd
from kivymd.app import MDApp
from kivymd.uix.screen import Screen
from kivymd.uix.label import MDLabel
import nltk
import json
with open("intents.json") as file:
data = json.load(file)
words = str(nltk.word_tokenize(str([data["intents"][0]["patterns"][0]])))
from nltk.stem.lancaster import LancasterStemmer
stemmer = LancasterStemmer()
stemmertest = stemmer.stem('addition')
class MainApp(MDApp):
def build(self):
screen = Screen()
label = MDLabel(text=words, pos_hint={'center_x': 0.7, 'center_y': 0.3})
label2 = MDLabel(text=stemmertest, pos_hint={'center_x': 0.7, 'center_y': 0.5})
screen.add_widget(label)
screen.add_widget(label2)
return screen
MainApp().run()
我将 Buildozer.spec 中的要求写为:
requirements = python3,kivy==2.0.0,kivymd==0.104.1,nltk==3.2.5,goslate,chardet,idna
请帮助我。
解决方案
进入手机的开发者模式并确保其“USB 调试已连接”已打开。将手机插入计算机并输入 CMD 行类型: ADB logcat 会弹出很多东西,稍等片刻,直到它稳定下来。这或多或少会吐出你的手机正在做的一切。尝试运行您的应用程序并查看它给您的错误消息。这是您将获得的最有价值的调试,因为通常应用程序崩溃不会显示任何错误消息。
来自https://stackoverflow.com/a/62825374/9486392
请通过编辑在问题中分享该错误消息。
推荐阅读
- c# - 面临的问题 值不能为空。参数名称:g
- python - Python If/else 混淆
- shell - 如何将 shell 脚本回显到 Jenkinsfile 等 groovy 界面中的文件
- javascript - Typescript child 与 parent 具有相同的道具,有没有更清洁的方法?
- javascript - 电子邮件正文的每个空格之间有 %20
- laravel - Laravel - 删除缓存文件 - 权限不足
- node.js - 有没有办法在一条路线中读取变量并在另一条路线中传递该值?
- download - 在 Artifactory Pro 上寻找一个选项来为下载指标创建仪表板
- reactjs - 如何在从数据库登录时使用挂钩将数据从子级更新到父级
- kotlin - 仅在 Kotlin 中按最大大小和空格分块字符串