我有以下项目结构,
work_directory:
merge.py
a_package(即work_directory目录下的python文件merge.py和a_package目录)
我在merge.py中使用MRJob编写了一个MapReduce作业,其中需要导入a_package,如from a_package import something。但是我在上传a_package到hadoop上有困难。
我尝试过这种方法(https://mrjob.readthedocs.io/en/latest/guides/writing-mrjobs.html#using-other-python-modules-and-packages):我写道
class MRPackageUsingJob(MRJob):
DIRS = ['a_package']并从映射器内部导入代码。
def mapper(self, key, value):
from a_package import something我还尝试了这个:https://mrjob.readthedocs.io/en/latest/guides/setup-cookbook.html#uploading-your-source-tree
但这两个都不起作用,它一直显示ImportError: No module named a_package。
我该怎么办?
发布于 2021-07-09 01:59:19
您只需在文件夹中创建空文件"__init__.py“,您就可以像使用包一样使用它。例如:
work_directory:
__init__.py
merge.py
a_packagehttps://stackoverflow.com/questions/68306554
复制相似问题