gpt4 book ai didi

python - 使用starflut在flutter中导入python模块

转载 作者:行者123 更新时间:2023-12-01 10:17:47 27 4
gpt4 key购买 nike

我正在尝试开发一个用于音频指纹处理的 Flutter 应用程序。我正在使用 Starflut用于python集成。这是一个简单的例子:

//python file for using from dart

def tt(a,b) :
print (a, b)
return 666,777
g1 = 123
def yy(a,b,z) :
print(a,b,z)
return {'jack': 4098, 'sape': 4139}

class Multiply :

def __init__(self):
pass

def multiply(self, a,b):
print("multiply....",a,b)
return a * b
//dart code which uses python

void _initStarCore() async {
StarCoreFactory starcore = await Starflut.getFactory();
StarServiceClass service = await starcore.initSimple("test", "123", 0, 0, []);
srvGroup = await service["_ServiceGroup"];
bool isAndroid = await Starflut.isAndroid();
if (isAndroid == true) {
String libraryDir = await Starflut.getNativeLibraryDir();
String docPath = await Starflut.getDocumentPath();
if (libraryDir.indexOf("arm64") > 0) {
Starflut.unzipFromAssets("lib-dynload-arm64.zip", docPath, true);
} else if (libraryDir.indexOf("x86_64") > 0) {
Starflut.unzipFromAssets("lib-dynload-x86_64.zip", docPath, true);
} else if (libraryDir.indexOf("arm") > 0) {
Starflut.unzipFromAssets("lib-dynload-armeabi.zip", docPath, true);
} else {
Starflut.unzipFromAssets("lib-dynload-x86.zip", docPath, true);
}
await Starflut.copyFileFromAssets("python3.6.zip",
"flutter_assets/starfiles", null);
}
await srvGroup.initRaw("python36", service);

String resPath = await Starflut.getResourcePath();
srvGroup.loadRawModule("python", "",
resPath + "/flutter_assets/starfiles/" + "testpy.py", false);

dynamic python = await service.importRawContext("python", "", false, "");

StarObjectClass retobj = await python.call("tt", ["hello ", "world"]);
print(await retobj[0]);
print(await retobj[1]);

print(await python["g1"]);

StarObjectClass yy = await python.call("yy", ["hello ", "world", 123]);
print(await yy.call("__len__",[]));

StarObjectClass multiply = await service.importRawContext("python", "Multiply", true, "");
StarObjectClass multiply_inst = await multiply.newObject(["", "", 33, 44]);
print(await multiply_inst.getString());

print(await multiply_inst.call("multiply", [11, 22]));

await srvGroup.clearService();
await starcore.moduleExit();
}

现在我需要导入python库 Dejavu用于音频指纹识别,但我不知道该怎么做。在他们的存储库中,starflut 文档或问题中没有任何关于它的内容。

有人遇到过同样的问题吗?或者也许有人有什么建议我可以尝试解决它?

对不起,错误,希望文字是可以理解的:)英语不是我的母语。

最佳答案

你读过 repo readmeinstallation readme文件?

如果没有,试试这个:

在您的命令提示符下:

pip install PyDejavu

在需要导入 Dejavu 的模块中:
from dejavu import Dejavu  

关于python - 使用starflut在flutter中导入python模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60903374/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com