Nicolas Bontempo
Nicolas Bontempo

Reputation: 191

Python import module error

I have a problem in import of modules in my project. I was creating tests and I cant import my main to test one end point of my application, from the test file teste_ex.py. This is my project structure:

backend_api/
    api/
        __init__.py
        main.py
    testes/
        __init__.py
        test_ex.py

In my test_ex.py Im trying to import main in this way:

import api.main
from webtest import TestApp

def test_functional_concursos_api():
    app = TestApp(main.app)
    assert app.get('/hello').status == '200 OK'

I omly get ImportError: No module named 'api'

Upvotes: 2

Views: 7814

Answers (1)

Daniel
Daniel

Reputation: 2459

Here's my best guess as to what might help:

You should make sure that the path to the directory in which your main.py file resides can be found in sys.path. You can check this yourself by running this snippet in test_ex.py:

import sys

for line in sys.path:
    print line

If the directory in which main.py is found is not included in your path, you can append that path to sys.path, like this (include this snippet in test_ex.py):

import sys
sys.path.append("/path/to/your/module/backendapi/api/")

Upvotes: 4

Related Questions