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 有一些问题。 这是 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 写为:
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 的数字键盘
带有额外空格的 Python KivyMD MDBottomSheet