首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何导入其他python模块和包

如何导入其他python模块和包
EN

Stack Overflow用户
提问于 2021-07-09 01:54:33
回答 1查看 42关注 0票数 0

我有以下项目结构,

代码语言:javascript
复制
work_directory:
    merge.py
    a_package

(即work_directory目录下的python文件merge.pya_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):我写道

代码语言:javascript
复制
class MRPackageUsingJob(MRJob):
    DIRS = ['a_package']

并从映射器内部导入代码。

代码语言:javascript
复制
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

我该怎么办?

EN

回答 1

Stack Overflow用户

发布于 2021-07-09 01:59:19

您只需在文件夹中创建空文件"__init__.py“,您就可以像使用包一样使用它。例如:

代码语言:javascript
复制
work_directory:
  __init__.py
  merge.py
  a_package
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68306554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档