Djangert
Djangert

Reputation: 109

Import Error Python 2.7. No module named:

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

Upvotes: 4

Views: 15589

Answers (2)

zipa
zipa

Reputation: 27869

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.

Upvotes: 2

Chris
Chris

Reputation: 136880

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

from structures.word import Word

Upvotes: 4

Related Questions