我在chaquopy Android应用程序的Python代码的main方法中导入了nltk库。它要求我为我的处理实施nltk.download('punkt')
。所以我想知道:代码在哪个目录中查找包,以便我可以在所需的文件夹中下载它们的副本,以便我的代码正常工作?
编辑:我实现了@mhsmith提供的解决方案,但是nltk.download('punkt')仍然提供了Lookup Error。 屏幕截图附有:
第一行是download_dir,其中nltk.download('punkt')正在下载数据
这是我在@mhsmith
实施解决方案后得到的错误这是我的代码片段
答案 0 :(得分:0)
Chaquopy 4.0.0及更新
这些版本将HOME
环境变量设置为应用程序的文件目录,nltk将自动在那里创建一个nltk_data
子目录。所以不需要采取任何特殊行动。
较旧的Chaquopy版本的原始答案
我认为最干净的解决方案是为您的下载创建一个单独的目录,如下所示:
from com.chaquo.python import Python
download_dir = "{}/nltk".format(Python.getPlatform().getApplication().getFilesDir())
if not os.path.exists(download_dir):
os.mkdir(download_dir)
nltk.download(..., download_dir=download_dir)
(getPlatform
方法需要Chaquopy 3.2.0或更高版本。)
从NLTK documentation开始,您似乎必须将NLTK_DATA
environment variable设置为此目录。这可能应该在之前 import nltk
完成。