У меня следующая структура папок
- libfolder
- lib1.py
- lib2.py
- main.py
main.py
, звонки libfolder.lib1.py
, которые затем вызывают libfolder.lib2.py
и другие.
Все это прекрасно работает на локальном компьютере, но после развертывания его на Dataproc я получаю следующую ошибку
File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/serializers.py", line 455, in loads
return pickle.loads(obj, encoding=encoding)
ModuleNotFoundError: No module named 'libfolder'
Я сжал папку в xyz.zip
и выполнил следующую команду:
spark-submit --py-files=xyz.zip main.py
Сериализатору не удалось найти местоположение для libfolder
.Есть ли проблема с тем, как я упаковываю свои папки?
Эта проблема похожа на эту , но на нее нет ответа.
Редактировать: ответ на вопросы Игоря
unzip -l для файла zip возвращает следующее
- libfolder
- lib1.py
- lib2.py
- main.py
В main.py lib1.py вызывается с этим оператором импорта
from libfolder import lib1