gpt4 book ai didi

引用同一包中其他文件的 Python Egg 库文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:25:43 29 4
gpt4 key购买 nike

我创建了一个 python egg 文件,用于将我的一些 python 模块导入 Azure databricks 集群。

包内的一些文件引用了同一个包内的其他文件。在本地安装,一切正常。当我将包加载到 Azure databricks 并尝试使用导入的库时,出现模块导入错误。

例如:module1 看起来像这样

import module2

print('hello, this is module 1')

模块 2 看起来像这样

print('hello, this is module 2')

注意,模块 1 导入模块 2。 Module2 不导入任何内容。

我尝试在工作区 py 文件中导入 module1,当我运行该单元格时,出现错误“ImportError: No module named 'module2'”

当我运行此代码时,从我在数据 block 中的笔记本中:from myLibrary import module1

我收到一个错误:ImportError: No module named 'module2'

如果我运行这个:from myLibrary import module2

运行良好

我验证了 module2 包含在 egg 包中。当然,我上传了一个除了 Azure databrick 之外的所有内容的示例到 github GitHub Sample这是使用 python3 运行时运行的。

如果需要更多信息来理解问题,请告诉我,我很乐意编辑问题并提供。

最佳答案

我怀疑这是一个 pythonpath 问题(并且您正在作为 Python 作业执行)。在 module1 中我会添加:

spark = SparkSession.builder.getOrCreate()
spark.sparkContext.addPyFile("dbfs:/path/module2.py")

这将使文件所在的所有节点。

您可以引用包含大量脚本的 zip 文件而不是 py 文件 - 只需确保它们位于 zip 内的平面单一文件夹结构中即可。

关于引用同一包中其他文件的 Python Egg 库文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53545815/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com