Python wheel 作业 - 找不到模块

Python wheel job - module not found

问题: 我用一个非常基本的模块制作了一个轮子,并将其安装在 Databricks 集群上。创建 'Python wheel' 类型的作业时,该作业无法 运行,因为它找不到包。


设置非常简单。我有一个源代码文件夹:

src
|-app_1
  |- __init__.py
  |- main.py

其中 main.py 包含:

def func(): 
    print('Hello world!')

然后,我执行以下操作:

  1. src 建造成轮子 demo-0.0.0-py3-none-any.whl

  2. 在 Databricks 集群中安装 demo-0.0.0-py3-none-any.whl。然后我验证轮子是否已正确构建和安装。我知道这一点是因为我能够 运行 from app_1.main import func,然后调用 func 成功。这是集群中安装的唯一轮子。

  3. 创建一个 Python wheel 类型的作业,然后将包名称设置为 app_1,将入口点设置为 main.func。当我 运行 工作时,我得到一个错误,说 app_1 找不到。

我认为您需要将包设置为 app1.main 并将入口点设置为 func 因为文档说它将调用 $packageName.$entryPoint(),在您的情况下完整的命令是 app1.main.func()

让它工作的方法是用类似的东西更新 __init__.py

from my_package import main

然后在你的数据块作业中,你的入口点将是:main.main(假设你在 main.py

中有一个函数 main