Evg
Evg

Reputation: 160

ModuleNotFoundError: No module named

I know that this topic has been dealt with many times already, and I have read all the answers and it seems that I did it right. but I don't understand what is wrong.

python_project:

Chronos
├── extractionScripts
│   ├── __init__.py
│   └── peps.py
└── helperfunctions
    ├── __init__.py
    └── generallHelper.py
    └── pos.py
    └── logging.py

I have two folders (extractionScripts and helperFunctions).

when I try to import modules from the helperFunctions into the peps.py , I get the error - from helperFunctions.invoiceHeader import * ModuleNotFoundError: No module named 'helperFunctions'

peps.py

import re
import sys
print (sys.path) 

from helperFunctions.generallHelper import *
from helperFunctions.pos import *
from helperFunctions.logging import *

print (sys.path) shows

['C:\\Users\\djoni\\Desktop\\Sixt\\Chronos\\extractionScripts', 'C:\\Users\\djoni\\Desktop\\Sixt\\Chronos\\helperFunctions', 'C:\\Users\\djoni\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip', 'C:\\Users\\djoni\\AppData\\Local\\Programs\\Python\\Python310\\DLLs', 'C:\\Users\\djoni\\AppData\\Local\\Programs\\Python\\Python310\\lib', 'C:\\Users\\djoni\\AppData\\Local\\Programs\\Python\\Python310', 'C:\\Users\\djoni\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages']

in other topics they wrote that there should be an init file, or the path should be added to the sys file, but I have them.

Upvotes: 1

Views: 2016

Answers (2)

Ayman
Ayman

Reputation: 363

When you import any module in Python , Python search in the sys.path list that has all modules have a look in your sys.path you won't see the Chronos File so in the file you try to import in it put this

import sys 
from pathlib import Path 
path_to_Chronos = Path(__file__).parent.parent
print(path_to_Chronos ) # Check this Right 
sys.path.append(path_to_Chronos)
# then import and you will find it works 

Upvotes: 1

Ayman
Ayman

Reputation: 363

Pro Check your names this is how you want to import it

from helperFunctions.generallHelper import *
from helperFunctions.pos import *
from helperFunctions.logging import *

but Do you see how you name it

└── helperfunctions
    ├── __init__.py
    └── generallHelper.py
    └── pos.py
    └── logging.py

F it is the Problem ...

Upvotes: 0

Related Questions