【问题标题】:python -- import module in same directory [duplicate]python - 在同一目录中导入模块[重复]
【发布时间】:2014-11-16 19:09:03
【问题描述】:

我有一个这样的项目设置(告诉我是否错误):

 project/
     module_1/
         __init__.py
         foo.py
     module_2/
         __init__.py
         bar.py

在 foo.py 中:

from module_2 import bar

我明白了:

ImportError: No module named module_2

但是,如果我将项目设置更改为:

 project/
     module_1/
         __init__.py
         foo.py
         module_2/
             __init__.py
             bar.py

它有效。我该如何解决这个问题?

谢谢

【问题讨论】:

  • 你是在 foo.py 中导入吗?
  • 是的——无论 import 语句是在 module_one/foo.py 还是 module_one/__init__.py 中都会发生
  • 因为你在 foo 中时 module2 是一个步骤。你应该写 ../module2 导入栏。注意 ../
  • 我的顶级目录中没有 init.py。应该有吗?

标签: python module packages importerror python-import


【解决方案1】:

尝试相对导入:

from ..module_2 import bar

然后你将它称为 bar: bar.method()。

编辑: 将__main__.py 添加到project 并从上一层运行它,使用

python -m project

【讨论】:

  • 它给出了“尝试从另一个包进行相对导入”错误
猜你喜欢
  • 1970-01-01
  • 2017-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-29
  • 1970-01-01
  • 2020-04-13
  • 1970-01-01
相关资源
最近更新 更多