我已经在chaquopy Android应用程序的Python代码的main方法中导入了nltk库。它要求我为我的处理实现nltk.download('punkt')
。所以我想知道:代码在哪个目录中查找包,以便我可以将它们的副本下载到所需的文件夹中,以便我的代码能够正常工作?
编辑:我实现了@mhsmith提供的解决方案,但nltk.download('punkt')仍然给出查找错误。截图附后:
第一行是nltk.download('punkt')下载数据的download_dir
这是我在通过@mhsmith实现解决方案后得到的错误
这是我的代码片段
发布于 2018-06-18 18:37:56
Chaquopy 4.0.0和更新的
这些版本将HOME
环境变量设置为应用程序的文件目录,nltk会自动在那里创建一个nltk子目录。所以不需要特殊的操作。
Chaquopy3.3.2和更早版本的
我认为最干净的解决方案是为您的下载创建一个单独的目录,如下所示:
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
之前完成。
https://stackoverflow.com/questions/50906501
复制相似问题