[英]How to import other python modules and packages
我有以下項目結構,
work_directory:
merge.py
a_package
(即一個python文件merge.py
和“work_directory”目錄下的一個目錄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
。
我應該怎么辦?
你只需要在文件夾中創建一個空文件“__init__.py”,你想像包一樣使用它。 例如:
work_directory:
__init__.py
merge.py
a_package
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.