如何在每次更改后不打包和安装的情况下在DataBricks中开发Python库



为了简单起见,假设我有两个Python脚本。1是main,1是lib。我的问题是,我如何在不需要每次构建和安装lib的情况下测试我的lib?

单个文件可以很容易地完成,如这里所回答的(https://stackoverflow.com/a/67280018/18105234(。我有嵌套库怎么样?

这个想法是在DataBricks中执行开发,就像在Jupyter实验室中一样。

有两种方法:

  1. 使用CCD_ 1(doc(来包括";图书馆";笔记本变成";主";笔记本您需要重新执行%run单元格。此文件中可以找到此方法的完整示例。

  2. 使用Databricks Repos的新功能,称为任意文件-在这种情况下,您的库代码应该在Python文件中,以及相应的__init__.py(现在您不能使用笔记本电脑(,然后将其作为";正常的";使用import命令的Python包。要自动从包中重新加载更改,您需要使用特殊的魔术命令,如另一个示例所示:

%load_ext autoreload
%autoreload 2

第二种方法有更多的优势,因为它允许获取代码,例如,从中构建库,或应用更多的代码检查,这是笔记本电脑无法实现的。

附言:我的存储库展示了如何使用Databricks Repos并从CI/CD管道在笔记本电脑中执行代码测试的完整示例

相关内容

最新更新