也发布在官方论坛上,在这里重新发布以提高可见度。
完成了此处中的所有步骤,将自定义 Python 轮上传到 Databricks。我构建了一个名为
somelongexamplename
的简单测试轮,并使用 Pyhton 3.5.2 将其编译为 .whl
。它非常简单,只有一个模块和一种打印 "Hello world"
的方法。
我在 Databricks 工作区的共享文件夹中创建了一个库,然后创建了一个自定义集群 (v5.5) 并在该集群上安装了轮子。下面的屏幕截图显示了集群上安装的库以及安装了库的集群。
它在 databricks-cli 上同样可见,如下所示。
在连接到测试集群的笔记本中运行以下命令也会显示轮子安装正确。
%sh
/databricks/python/bin/pip freeze
但当我跑步时:
import somelongexamplename
我得到:
ImportError Traceback (most recent call last)
<command-194690> in <module>()
----> 1 import somelongexamplename
ImportError: No module named 'somelongexamplename'
有人知道可能是什么原因造成的吗?我似乎找不到任何其他提供解决方案的在线资源。
事实证明问题一直在我的
setup.py
文件中。我在 packages
方法中配置了错误的 setup
值。
最初是这样的:
setup(
...
packages=find_packages(where='somelongexamplename'),
package_dir={'': 'somelongexamplename'},
...
)
将其更改为这个对我来说修复了它:
setup(
...
packages=['somelongexamplename'],
...
)
如果您遇到此问题,请确保您的方向盘配置正确。
现在您可以使用 Databricks Asset Bundles 工具来完成此任务。
在那里你可以看到一个带有Python Wheel任务的完整模板项目。按照部署说明进行操作。