Chaquopy Package/Module 文件的放置位置

Where To Place Chaquopy Package/Module For Files

我正在尝试引用 Android 应用程序中的两个文件,我在其中 运行 宁计算机视觉 python 脚本。

按照此处的说明进行操作:https://chaquo.com/chaquopy/doc/current/android.html#resource-files

我在导入文件夹中创建了其中包含我的脚本需要引用的两个文件。此文件夹名为 "package1",与我的应用构建 gradle 文件处于同一级别。

我的 gradle 文件包括以下内容,如示例所示:

python {
            // If Chaquopy fails to find Python on your build machine, enable and edit the
            // following line to point to a Python 3.4+ executable.
            // buildPython "C:/Python36/python.exe"

            extractPackages "package1"

...
    }

我的 python 脚本包含以下内容:

from os.path import dirname, join


import package1
haar_path = open(join(dirname(package1.__file__), "haar.xml"))
model_path = open(join(dirname(package1.__file__), "model.hdf5"))

但是,当我的 apk 在我的设备上 运行 时,我收到以下错误:

"No module named package1"

我相信我可能将我的模块放在了错误的位置,但说明没有详细说明模块文件的放置位置,也没有详细说明它们应该以什么格式引用,就路径而言。

文件层次结构图像:

Current python script file hierarchy

Within package1 folder

您的 Python 源代码应放在 src/main/python 中,如 the documentation. An example can be seen in the demo app 中所述。

如果您的 运行 脚本已经达到 top-level,我认为该脚本一定已经在该文件夹中。在这种情况下,您只需将 package1 文件夹移动到其中即可。

出现问题是因为没有

 __init__.py

我的 package1 文件夹中的文件。

添加这个之后我收到了一个不同的错误,但是这个导入问题已经解决了。