¿Cómo acceder a un módulo desde fuera de su carpeta de archivos en Python?

¿Cómo puedo acceder a los módulos desde otra carpeta?

Aquí está la estructura de archivos:

/ /config __init__.py config.py /test test.py # I'm here 

Quería acceder a las funciones desde config.py desde test.py. ¿Cómo haría esto?
Aquí está mi importación:

 import config.config 

Cuando ejecuto el script test.py , siempre dirá:

 ImportError: No module named config.config 

¿Hice algo mal?

La forma más sencilla es modificar la variable sys.path (define la ruta de búsqueda de importación):

 # Bring your packages onto the path import sys, os sys.path.append(os.path.abspath(os.path.join('..', 'config'))) # Now do your import from config.config import * 

Solo puede importar módulos que sean visibles en su entorno. Puedes comprobar el entorno utilizando esto.

 import sys print sys.path 

Como verá, sys.path es una lista para que pueda agregarle elementos:

 sys.path.append('/path_to_app/config') 

Y deberías poder importar tu módulo.

BTW: Hay muchas preguntas sobre esto.

Agregue el directorio de la aplicación a la ruta de búsqueda del módulo.

Por ejemplo:

 PYTHONPATH=/path/to/appname python test.py