1
resposta

Import pastas diferentes

Está dando erro na hora de importar.

Arquivo onde ocorre o import :

from unittest import TestCase, main
from src.leilao.dominio import Usuario, Leilao, Lance

Organização das pastas:

C:.
│   README.md
│
├───.vscode
│       arduino.json
│       c_cpp_properties.json
│       settings.json
│
├───src
│   └───leilao
│       │   dominio.py
│       │   principal.py
│       │
│       └───__pycache__
│               dominio.cpython-36.pyc
│               principal.cpython-36.pyc
│
└───tests
        test_leilao.py

Mensagem de erro:

Traceback (most recent call last):
  File "tests\test_leilao.py", line 2, in <module>
    from src.leilao.dominio import Usuario, Leilao, Lance
ModuleNotFoundError: No module named 'src'

Estou usando VSCode(n sei se influencia), python 3.6.7, e antes da mudança de pastas estava fazendo o import assim:

from unittest import TestCase, main
from dominio import Usuario, Leilao, Lance

E estava funcionando ok, antes, mesmo com o arquivo na mesma pasta, não consegui fazer o import como estava no video.

Como eu consigo importar modulos que estão em subpastas?

1 resposta

Tem que incluir o caminho do diretório no sys do python:

import sys

sys.path.append('/path/to/src/leilao')

import dominio

Não é a forma mais elegante, mas caso teu objetivo seja testar teu código, servirá.