I have a directory structure like this
project/
__init__.py
greetings.py
script.py
greetings.py
def hello():
print('Hello')
script.py
from . import greetings
greetings.hello()
When I execute python script.py following error occurs
Traceback (most recent call last):
File "script.py", line 1, in <module>
from . import greetings
ImportError: cannot import name 'greetings'
If I just use import greetings in script.py everything works.
But why does the relative import give error?
And why does it work when I use from . import models in views while working in django.
Please follow Module vs Package concept in python.
Here you created a package so you have to import package as:-
from project import greetings
Here relative import will work as
from .greetings import *
OR
import greetings
greetings should be on same folder