Nicolas Bontempo Nicolas Bontempo - 2 months ago 10
Python Question

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'



  • What can be done to import my main to my test file?


Answer

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/")