from example another python-3.x python-import

python 3.x - example - ValueError: intento de importación relativa más allá del paquete de nivel superior



python import module from path (1)

Python 3 cambió el sistema de importación, por lo que cada vez que desee un módulo que esté alrededor del módulo en el que está trabajando, necesita importaciones relativas (a menos que ensucie con PYTHON_PATH o sys.path ).

El uso correcto aquí debe ser

from .subpkg import a

Cuando trabajas con IDLE, tienes un entorno totalmente diferente. Por lo tanto, puede agregar la ubicación actual a su ruta para que las importaciones vuelvan a funcionar.

tratar:

sys.path.insert(0, '''')

Puede ser raro, pero es para un bien mayor.

PD: Si esto último no funciona, no tengo un entorno IDLE en este momento, probablemente se deba a que el directorio de trabajo está mal configurado.

Pruebe esta respuesta en su lugar: https://stackoverflow.com/a/17361545/754991

Estaba jugando el sistema de importación de Python para comprender mejor cómo funciona, y encontré otro problema. Tengo la siguiente estructura

pkg/ __init__.py c.py d.py subpkg/ __init__.py a.py b.py

Dentro de a.py tengo el siguiente código:

from . import b from .. import d

Y dentro de c.py tengo lo siguiente:

import subpkg.a

Ahora recibo el siguiente error:

ValueError: intento de importación relativa más allá del paquete de nivel superior

Pero por que ¿Cómo puedo resolverlo? Estoy ejecutando c.py desde el IDLE, y pkg debe considerarse un paquete, ya que tiene el archivo __init__.py .

La primera importación funciona bien, pero lo siguiente no funciona:

from .. import d

Porque estoy intentando importar algo de un paquete padre, pero aparentemente no puedo, por alguna extraña razón.