Estou enfrentando esse erro após instalar o werkzeug e ter feito praticamente todas as soluções possíveis no fórum, e nenhuma resolveu, tentei reinstalar algumas versões das bibliotecas e tudo está dando no mesmo resultado.
Estou enfrentando esse erro após instalar o werkzeug e ter feito praticamente todas as soluções possíveis no fórum, e nenhuma resolveu, tentei reinstalar algumas versões das bibliotecas e tudo está dando no mesmo resultado.
Bom dia, Fellipe! Como vai?
Esse erro que está relacionado com a biblioteca do Werkzeug
, normalmente acontece quando é utilizado uma versão da biblioteca que está depreciada ou que não tem compatibilidade com a versão do Flask que está sendo utilizada.
Imagino que por estar em um módulo bem avançado do curso o seu problema não é com a versão do Flask, então precisarei que você compartilhe comigo todo o seu projeto, para que eu faça testes para identificar onde esse erro está sendo causado. Envie através do GitHub ou Drive do Google.
Ah, antes de compartilhar, peço que rode o comando pip freeze > requirements.txt
, assim será criado um arquivo de texto com todas as bibliotecas e suas versões.
Bom dia, Felipe!
Vou apresentar os problemas separadamente para você entender melhor.
Primeiro sobre o Werkzeug
, a versão instalada durante a aula é bem antiga comparada com a usada atualmente, sem falar que atualmente o Werkzeug
já é instalado juntamente com o Flask
, logo acaba sendo desnecessário instalar ele novamente. Segue uma solução para o problema de versões:
bcrypt==4.1.2
blinker==1.7.0
click==8.1.7
colorama==0.4.6
Flask==3.0.2
Flask-Bcrypt==1.0.1
Flask-Login==0.6.3
Flask-SQLAlchemy==3.0.3
Flask-WTF==1.2.1
greenlet==3.0.3
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.3
mysql-connector-python==8.0.28
mysqlclient==2.2.4
protobuf==4.25.2
SQLAlchemy==2.0.27
typing_extensions==4.9.0
Werkzeug==3.0.4
WTForms==3.1.2
Atualize o seu requirements.txt
para conter as versões e bibliotecas que mostrei acima.
Agora sobre o erro apresentado no seu print, ele acontece quando tentamos fazer login com uma senha criptografada e que será comparada com a senha do banco, também criptografada, mas usando um salt
diferente, a qual é o caractere usado na criptografia para deixar a senha segura.
De maneira geral, ou a senha cadastrada no banco não está criptografada, ou foi criptografada usando outro padrão. Isso me leva a pensar que você não rodou o arquivo prepara_banco.py
antes de tentar realizar login novamente.
Então, minha solução para esse problema é que você rode o arquivo prepara_banco.py
, assim será criado um novo usuário com a sua senha criptografada.
Espero que isso resolva o seu problema!