我有一个像这样的目录结构
project/
__init__.py
greetings.py
script.py
greetings.py
def hello():
print('Hello')
script.py
from . import greetings
greetings.hello()
当我执行python script.py
后发生错误
Traceback (most recent call last):
File "script.py", line 1, in <module>
from . import greetings
ImportError: cannot import name 'greetings'
如果我在import greetings
中使用script.py
,一切正常。
但为什么相对导入会出错?
当我在django工作时在视图中使用from . import models
时,为什么它会起作用。
答案 0 :(得分:0)
请遵循python中的Module vs Package概念。
在这里,您创建了一个包,因此您必须将包导入为: -
from project import greetings
答案 1 :(得分:0)
此处相对导入将作为
from .greetings import *
OR
import greetings
greetings
应位于同一文件夹