如何导入其他python模块和包



我有以下项目结构,

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-其他python模块和包(:我写了

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-你的源树

但它们都不起作用,它一直显示ImportError: No module named a_package

我该怎么办?

您只需要创建一个空文件&quot__init__.py";在文件夹中,要像使用包一样使用的内容。例如:

work_directory:
__init__.py
merge.py
a_package

相关内容

  • 没有找到相关文章