告诉bazel把.so文件复制到pyïu库输出文件夹?

2024-04-23 06:09:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个依赖于*.so文件的py\u库。我有一个创建.so文件的cc\u库规则。我将cc\u库的名称添加到py\u库的数据字段中,但是bazel没有将*.so的副本放入output文件夹中。你知道吗

cc_binary(
    name = "_python_api.so",
    linkshared = True,
    visibility = ["//visibility:public"],
    deps = [
        "...",
    ],
)

py_library(
    name = "python_api",
    visibility = ["//visibility:public"],
    imports = [
        "python_api",
    ],
    srcs = [
        "python_api/python_api.py"
    ],
    data = [
        ":_python_api.so",
    ],
)

py_binary(
    name = "python_api_example",
    srcs = [
        "python_api_example.py",
    ],
    deps = [
        ":python_api",
    ],
)

一切都编译正确。但是当我运行示例应用程序时,它说找不到python_api.so公司. 我能看见Python_api.so公司在output文件夹中,只是与python不在同一文件夹中_api.py公司. 如果我在与python相同的文件夹中创建符号链接_api.py公司给Python_api.so公司归档,然后一切正常。你知道吗

有没有办法告诉bazel这个so文件需要和python放在同一个文件夹中_api.py?你知道吗


Tags: 文件depsnamepy文件夹apioutputso