Módulos em Python [RESOLVIDO]

1. Módulos em Python [RESOLVIDO]

ijoaovictor76@gmail.com
pekka0202

(usa Linux Mint)

Enviado em 12/11/2020 - 14:00h

Ola, estou tendo um problema. Estou tentando desenvolver um sistema CRUD em Python utilizando o SQLAlchemy com uma interface gráfica, bem simples mesmo. Porém estou tendo um problema importar um módulo que esta na pasta Model para a pasta View.

Não sei se ta dando para entender (a imagem). Mas como eu faço para pegar o model.py (onde esta as classes que representa as tabelas no banco de dados) e importo para o arquivo view.py (mesmo que isso não seja coerente, mas depois eu vejo isso) ?

Por favor, preciso muito resolver esse problema até hoje. É meu TCC.


  


2. MELHOR RESPOSTA

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 12/11/2020 - 18:45h

Espero que ajude! Segue o código. Boa sorte no TCC.

import sys
import os

# definir o caminho do diretório
dir = os.path.dirname(os.path.realpath(__file__)) + '/../model'

# adicionar o diretório ao sys.path
sys.path.append(dir)

# models.py está no sys.path
from models import *


3. Re: Módulos em Python [RESOLVIDO]

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 12/11/2020 - 18:56h

Ou você pode criar um link simbólico dentro do diretório view:

$ ln -s ../model/models.py

E então efetuar o import normalmente.

Essa solução é mais simples, enquanto a primeira resolve tudo dentro do próprio código do sistema, sem a necessidade de interagir com o sistema operacional.


4. Re: Módulos em Python [RESOLVIDO]

ijoaovictor76@gmail.com
pekka0202

(usa Linux Mint)

Enviado em 13/11/2020 - 00:31h

Obrigado pela ajuda. Boa sorte com o canal.


5. Re: Módulos em Python [RESOLVIDO]

ijoaovictor76@gmail.com
pekka0202

(usa Linux Mint)

Enviado em 13/11/2020 - 01:12h

Sou eu de novo. Eu tentei as duas opções porém, nenhuma funcionou. Olhe a mensagem de erro da 1 opção que você me apresentou. Pesquisei essa mensagem de erro mas, não encontrei nada. Se não me engano acho que esse erro esta acontecendo por causa de alguma nomeclatura de alguma coisa ou algo do tipo.

Na 2º opção que vc me mostrou, o comando funcionou então deu nenhuma mensagem de erro no prompt más, quando eu executei o código deu a mensagem de erro dizendo que o módulo não existia.

File "view.py", line 1, in <module>
import models
ImportError: No module named models



6. Re: Módulos em Python [RESOLVIDO]

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 13/11/2020 - 01:47h

Pela mensagem de erro da imagem anexada, não tem nada a ver com o módulo e sim com o acento do comentário na linha 4 do view.py. Das duas uma, remova o acento ou adicione a seguinte linha no início do arquivo:

# -*- coding: UTF-8 -*- 




7. Re: Módulos em Python [RESOLVIDO]

ijoaovictor76@gmail.com
pekka0202

(usa Linux Mint)

Enviado em 13/11/2020 - 13:30h

fabio escreveu:

Pela mensagem de erro da imagem anexada, não tem nada a ver com o módulo e sim com o acento do comentário na linha 4 do view.py. Das duas uma, remova o acento ou adicione a seguinte linha no início do arquivo:

# -*- coding: UTF-8 -*- 




Problema resolvido. Era um acento agudo no models.py, obrigado.