python - 如何将本地模块导入 azure databricks 笔记本?
问题描述
我正在尝试在 databrick 的笔记本中使用一个模块,但我完全被阻止了。我想执行以下命令或任何类似的命令,让我创建实例MyClass
from mypackage.mymodule import MyClass
按照databrick的文档,我在本地开发了一个带有单个模块的python包,如下所示:
mypackage
|- __init__.py
|- setup.py
|- mymodule.py
然后运行python setup.py bdist_wheel
获取.whl
文件。该目录最终成为
mypackage
|- build
|- ... whatever
|- src.egg-info
|- ... whatever
|- dist
|- src-0.1-py3-none-any.whl
|- __init__.py
|- setup.py
|- mymodule.py
从这里我按照说明将.whl
文件上传到工作区。但现在我无法导入MyClass
任何笔记本。
我已经尝试了以下所有方法:
- 上传
.whl
有和没有名字的。 - 将安装它上传
.whl
到集群中,而不是。 - 利用
import mypackage
- 使用
dbutils.library.install('dbfs:/path/to/mypackage.whl/')
(返回True
)然后使用import ...
- 而不是上传一个
.whl
,在与笔记本相同的目录中创建包文件夹。 - 上传到我的文件夹和
Shared
文件夹 - 以上所有组合。f.ex:以不同的名称和用途上传
import differentname
这让我发疯了。这是一项如此简单的任务,我可以使用普通笔记本轻松完成。
解决方案
我已经通过使用 pythonegg
而不是wheel
. python setup.py bdist_egg
将创建一个鸡蛋,您可以安装以下 databricks 文档。我不知道为什么wheel
不起作用...
推荐阅读
- c# - Asp.Net Core Identity、IdentityUser.Email 与 UserManage
.GetEmailAsync(IdentityUser 用户) - javascript - Rollup 只关注导出数组中的一个配置
- kotlin - 所有生产者协程完成后如何关闭通道?
- xml - RTF 模板中的 XML 标记分组以抑制重复
- c++ - enable_if 如何帮助选择类模板的特化?
- ios - Firebase crashlytics 自动上传 dsym
- javascript - VueJS 从列表中选择对象并用函数显示
- reactjs - React JS - 如何更好地将 React 组件添加到 ReactDOM
- opentok - 如何在屏幕中插入背景和顶部图像 - 视频 API
- python - 烧瓶+MySQL。应用程序重新加载同一页面而不是路由,并且无法将值添加到 mysql db