Databricks(Spark):.egg依赖项没有自动安装?

时间:2015-08-20 13:12:50

标签: python apache-spark dependencies pyspark egg

我有一个依赖于.egg的本地创建的boto==2.38.0.包我使用setuptools来创建构建分发。一切都在我自己的本地环境中工作,因为它从boto正确地提取PiP。但是,在databricks上,当我将库附加到群集时,它不会自动获取依赖项。

我现在真的很挣扎了几天,试图在加载到数据库时自动安装依赖项,我使用setuptools; 'install_requires=['boto==2.38.0']'是相关字段。

当我直接从boto服务器上的PyPi安装databricks时(因此不依赖于install_requires字段才能正常工作)然后调用我自己的{{1}它确实认识到.egg是一个包,但是它不识别它的任何模块(因为它不是在我自己的.egg的命名空间中导入的)。所以我无法让boto工作。如果这个问题在没有任何解决方案的情况下仍然存在,我认为这对.egg用户来说是一个非常大的问题。当然应该有一个解决方案......

谢谢!

1 个答案:

答案 0 :(得分:0)

如果应用程序的依赖项多种多样,并且没有统一的语言支持,那么它们通常不会正常工作。 Databrick docs解释

  

如果库支持Python 2和3,Databricks将安装正确的版本。如果库不支持Python 3,则库附件将失败并显示错误。

在这种情况下,当您将库附加到群集时,它不会自动获取依赖项。