NLTK 不能在带有 KivyMD 的 Android Buildozer 应用程序中工作

Posted

技术标签:

【中文标题】NLTK 不能在带有 KivyMD 的 Android Buildozer 应用程序中工作【英文标题】:NLTK not working in Android Buildozer App with KivyMD 【发布时间】:2021-12-19 10:52:13 【问题描述】:

我正在使用 KivyMD 制作一个使用 NLTK 的基本应用程序。 该程序在 Pycharm IDE 中运行良好,但在使用 Buildozer 编译时,android App 打开后崩溃。 JSON 可以很好地导入 json 文件数据集;所以,我想..NLTK 有一些问题。 这是 ma​​in.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 写为:

requirements = python3,kivy==2.0.0,kivymd==0.104.1,nltk==3.2.5,goslate,chardet,idna

请帮帮我。

【问题讨论】:

【参考方案1】:

进入您手机的开发者模式并确保其“USB 调试已连接”已打开。 将手机插入计算机并输入 CMD 线路类型:ADB logcat 很多东西会弹出来,等一下,直到它解决。这或多或少会吐出你的手机正在做的一切。 尝试运行您的应用程序并查看它给您的错误消息。这是您将获得的最有价值的调试,因为通常应用程序崩溃不会显示任何错误消息。

来自https://***.com/a/62825374/9486392

请通过编辑分享问题中的错误消息。

【讨论】:

每当我输入 adb logcat 时,它都会给我一条错误消息...所以我无法这样做... 那么,请直接回答我该怎么办?

以上是关于NLTK 不能在带有 KivyMD 的 Android Buildozer 应用程序中工作的主要内容,如果未能解决你的问题,请参考以下文章

用于 MDTextField 的带有 Kivy / KivyMD 的数字键盘

带有 id 的 kivymd 参考

KivyMD 带有下拉菜单的文本字段

带有额外空格的 Python KivyMD MDBottomSheet

为啥文件管理器不能在 android kivymd 上运行?

Kivymd:如何在不创建自定义类的情况下在列表项中添加复选框?