Este problema surge debido a las formas en que el intérprete de IPython de línea de comandos usa su ruta actual frente a la forma en que lo hace un proceso separado (ya sea un cuaderno de IPython, proceso externo, etc.). IPython buscará módulos para importar que no solo se encuentren en su sys.path, sino también en su directorio de trabajo actual. Al iniciar un intérprete desde la línea de comandos, el directorio actual en el que está operando es el mismo en el que inició ipython. Si ejecuta
import os
os.getcwd()
Verás que esto es cierto.
Sin embargo, supongamos que está utilizando una computadora portátil ipython, ejecute os.getcwd()
y su directorio de trabajo actual es, en cambio, la carpeta en la que le indicó a la computadora portátil que opere en su archivo ipython_notebook_config.py (generalmente usando la c.NotebookManager.notebook_dir
configuración).
La solución es proporcionar al intérprete de Python la ruta a su módulo. La solución más simple es agregar esa ruta a su lista sys.path. En su cuaderno, primero intente:
import sys
sys.path.append('my/path/to/module/folder')
import module-of-interest
Si eso no funciona, tiene un problema diferente en sus manos no relacionado con la ruta de importación y debe proporcionar más información sobre su problema.
La mejor manera (y más permanente) de resolver esto es establecer su PYTHONPATH , que proporciona al intérprete directorios adicionales para buscar paquetes / módulos de Python. La edición o configuración de PYTHONPATH como una variable global depende del sistema operativo , y se trata en detalle aquí para Unix o Windows .