I am working on a python project and whose directory structure looks like this,
SEC-Edgar
├── SECEdgar
│ ├── __init__.py
│ ├── companylist.txt
│ ├── crawler.py
│ ├── crawler.pyc
│ ├── data.txt
│ └── test.py
├── config.py
├── requirements.txt
└── setup.py
I am trying to use config module inside crawler.py
but it is giving an ImportError
.
Traceback (most recent call last):
File "SECEdgar/test.py", line 3, in <module>
from crawler import SecCrawler
File "/Users/rahul/Code/SEC-Edgar/SECEdgar/crawler.py", line 9, in <module>
from config import DEFAULT_DATA_PATH
ImportError: No module named config
The import statement in crawler.py
is
from config import DEFAULT_DATA_PATH
I am not able to understand how import works in python, particularly when it comes to different directories like importing from root to base directory.
Do I need to add __init__.py
on root directory also, so that it becomes a package and then use .
to import it?
Is there a better way to handle import or am I missing some fundamentals here?