1

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

按照此处的说明操作: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"

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

文件层次结构的图像:

当前 python 脚本文件层次结构

在 package1 文件夹中

4

2 回答 2

1

出现问题是因为没有

 __init__.py

我的 package1 文件夹中的文件。

添加此内容后,我收到另一个错误,但此导入问题已解决。

于 2019-05-20T15:29:54.023 回答
0

src/main/python文档中所述,您的 Python 源代码应放在. 在演示应用程序中可以看到一个示例。

如果您已经运行了顶级脚本,我假设该脚本必须已经在此文件夹中。在这种情况下,您所要做的就是将package1文件夹移入其中。

于 2019-05-20T10:11:12.187 回答