Home > front end >  No module named "FolderName"
No module named "FolderName"

Time:10-05

I'm using Python in VS code. I am experiencing the error "no module named 'ch6'" when trying to import the functions from one file to another, where the files are located in two different folders.

I have two folders:

  1. "ch6" – which contain the file "RandomCharacter.py". This file has the functions I want to import.
  2. "ch7" – which contain the file "CountLettersInList.py" trying to import the functions from "RandomCharacter.py".

If I try to import the functions with the code:

import ch6.RandomCharacter

I get the error: "No module named 'ch6'"

If I use the code:

import RandomCharacter

I get the error: "No module named 'RandomCharacter'"

However, if I copy CountLettersInList.py from folder ch7 to folder ch6, the import works just fine with the code:

import RandomCharacter

So why can't it import the functions successfully when the files are in two different folders?

CodePudding user response:

The python import system can be annoying. Correct me if I'm wrong in any assumption I make! So what I understand is you're trying to import a RandomCharacter.py into a file located ch7/CountLettersInList.py?

The reason you can't import RandomCharacter.py into CountLettersInList.py is because what CountLettersInList.py can see is only in ch7. It can't even see the folder ch6.

Solution: You have to go up one directory to see ch6. In order to do that tack these lines of code into CountLettersInList.py:

import sys

sys.path.append("..")

This goes up one directory to search for modules!

CodePudding user response:

Add the following code in CountLettersInList.py, then you can import successfully.

import sys
sys.path.append("./")

enter image description here

  • Related