Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

230
Vistas
otra consulta más (problema) con jerarquía de módulos en python
mt-kart | --> src/data_kart | | | --> apis | | | | | --> __init__.py | | --> endpoints.py | | | --> models | | | | | --> __init__.py | | --> modelx.py | | | --> defaults.py | --> main.py --> tests | --> __init__.py | --> conftest.py | --> test_others.py

En main.py obtengo module not found error cuando intento referirme

from defaults import func1

pero esto funciona

from .defaults import func1

Debería funcionar sin "." ¿Correcto?

2.

Desde endpoints.py , ¿cómo debo referirme a modelx.py ? mi anterior el desarrollador lo tenía como a continuación.

from data_kart.models.modelx import model1

Pero se queja cuando ejecuto algunas pruebas usando pytest del directorio mt-kart . Luego, lo siguiente funcionó para pytest . Pero me temo que puede dar error en algún escenario diferente.

from src.data_kart.models.modelx import model1

El proyecto utiliza OpenApI Code generators FastApi y OpenApI.

Editar-------------------

En conftest.py agregué src a sys.path y las rutas funcionan bien para mi problema 2 . sys.path.append(os.getcwd()+"/src")

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En su lugar, podría agregar el directorio que incluye su paquete en PYTHONPATH , como se muestra aquí . Por ejemplo, si está en Windows, el directorio de su paquete debería verse así: C:/users/.../mt-kart/src . Después de agregar la ruta a la variable de entorno, asegúrese de iniciar una nueva terminal para almorzar pytest .

Al agregar C:/users/.../mt-kart/src en PYTHONPATH , significa que puede importar sus módulos de esta manera: from data_kart.models.modelx import model1 (como lo hizo su desarrollador anterior ) y from defaults import func1 debería funcionar como se esperaba. Cada vez que importe un módulo del paquete data_kart , apuntará al directorio proporcionado en la variable PYTHONPATH . Por lo tanto, no habría necesidad de agregar sys.path.append(... en la parte superior de cada archivo en su proyecto (o archivos de prueba) para importar módulos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda