Android 应用程序代码的Python 代码中导入的Python 包chaquopy 代码搜索什么目录

What directory does chaquopy code search for the Python packages which are imported in the Python code of the Android app code

我在 chaquopy Android 应用程序的 Python 代码的主要方法中导入了 nltk 库。它要求我为我的处理实施 nltk.download('punkt')。所以我想知道:代码在哪个目录中查找包,以便我可以在所需的文件夹中下载它们的副本以使我的代码正常工作?

Edit: 我实现了@mhsmith 提供的解决方案,但是nltk.download('punkt') 仍然出现Lookup Error。 附上截图:

第一行是download_dir,其中nltk.download('punkt')正在下载数据

这是我在实施@mhsmith

的解决方案后得到的错误

这是我的代码片段

Chaquopy 4.0.0 及更新版本

这些版本将 HOME 环境变量设置为您应用程序的文件目录,nltk 将自动在那里创建一个 nltk_data 子目录。所以不需要特殊操作。


Chaquopy 3.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, it looks like you'll have to set the NLTK_DATA environment variable到这个目录。这应该 import nltk.

之前完成