簡體   English   中英

如何導入其他python模塊和包

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM