如何在数据块上以可编辑模式使用Python库进行开发?

ff29svar  于 2022-11-28  发布在  Python
关注(0)|答案(2)|浏览(129)

在Databricks上,可以直接从git repo或dbfs安装Python包:

%pip install git+https://github/myrepo
%pip install /dbfs/my-library-0.0.0-py3-none-any.whl

是否有一种方法可以启用live包开发模式(类似于pip install -e的用法),以便databricks笔记本按原样引用库文件,并且可以随时更新库文件?
例如,类似于

%pip install /dbfs/my-library/ -e

同时让我的图书馆保持最新?
谢谢你!

kd3sttzy

kd3sttzy1#

我建议采用Databricks Repos功能,该功能允许将Python代码作为普通包导入笔记本,包括当Python包代码更改时自动重新加载代码。
您需要将以下两行添加到使用您正在开发的Python包的笔记本中:

%load_ext autoreload
%autoreload 2

您的库被识别为Databricks Repos主文件夹,并自动添加到sys.path。如果您的库位于Repo子文件夹中,则可以通过以下方式添加:

import os, sys
sys.path.append(os.path.abspath('/Workspace/Repos/<username>/path/to/your/library'))

这适用于记事本节点,但不适用于工作节点。
P.S.您可以在此Databricks cookbook和此存储库中查看示例。

4ioopgfo

4ioopgfo2#

你可以在笔记本范围内执行%pip install -e。但是每次重新连接时你都需要这样做。代码更改似乎没有通过自动重新加载来重新加载,因为可编辑模式没有附加到syspath;而不是站点包上的符号链接。
但是,集群范围中的可编辑模式似乎不适用于我

相关问题