Import Error Python 2.7. No module named:

12,566

Solution 1

The top-level project directory shouldn't be included in the module name. This should work:

from structures.word import Word

Solution 2

You will need

import sys
sys.path.insert(0, 'System/structures/word')
#or
sys.path.append('System/structures/word')

import Word

Otherwise you will need __init__.py that you can make with these instructions.

Share:
12,566
Djangert
Author by

Djangert

"In theory, theory and practice are the same. In practice, they’re not."

Updated on June 12, 2022

Comments

  • Djangert
    Djangert almost 2 years

    I'm receiving an ImportError when running my main script which is related to another script trying to import one of my modules and I'm unsure how to fix it. The layout of the files in relation to the software is as follows (folder names etc are fictional):

    poetry_generator/main.py
    
    poetry_generator/architecture/experts/poetryexperts/sentence.py
    
    poetry_generator/structures/word.py
    

    Main.py is what I'm running, and the problem seems to arise from sentence.py trying to import word module and failing.

    Currently in sentence.py I have:

    from poetry_generator.structures.word import Word
    

    Word is the name of the Class in word.py: Class Word(object). But I'm receiving the following error: ImportError: No module named poetry_generator.structures.word

    Does anyone have any idea what is wrong? I have been readinga roudn similar questions already asked but nothing has worked so far. Thanks in advance for any help.

    Full console text reagarding error:

    Traceback (most recent call last):
      File "main.py", line 1, in <module>
        from architecture.control_component import ControlComponent
      File "/home/lee/Downloads/PoEmo-master/poetry_generator/architecture/control_component.py", line 4, in <module>
        from experts.poem_making_experts import exclamation_expert
      File "/home/lee/Downloads/PoEmo-master/poetry_generator/architecture/experts/poem_making_experts/exclamation_expert.py", line 5, in <module>
        from poetry_generator.structures.word import Word
    ImportError: No module named poetry_generator.structures.word