python - 在同一目录中导入模块[重复]
Posted
技术标签:
【中文标题】python - 在同一目录中导入模块[重复]【英文标题】:python -- import module in same directory [duplicate] 【发布时间】: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。应该有吗? 【参考方案1】:尝试相对导入:
from ..module_2 import bar
然后你将它称为 bar: bar.method()。
编辑:
将__main__.py
添加到project
并从上一层运行它,使用
python -m project
【讨论】:
它给出了“尝试从另一个包进行相对导入”错误以上是关于python - 在同一目录中导入模块[重复]的主要内容,如果未能解决你的问题,请参考以下文章