1
resposta

ERRO flask-wtf==1.0.0

Terminei o módulo 5, meu código esta igual ao da fim do módulo, mas me parece que estou enfretando problemas com a versão do flask-wtf , ao rodar a aplicação

a versão que baixei foi a mencionada na aula: pip install flask-wtf==1.0.0

Erro:
Traceback (most recent call last):
jogoteca.py", line 3, in <module>
    from flask_wtf.csrf import CSRFProtect
  File "/jogoteca/venv/lib/python3.9/site-packages/flask_wtf/__init__.py", line 4, in <module>
    from .recaptcha import Recaptcha
  File "/jogoteca/venv/lib/python3.9/site-packages/flask_wtf/recaptcha/__init__.py", line 1, in <module>
    from .fields import RecaptchaField
  File "/jogoteca/venv/lib/python3.9/site-packages/flask_wtf/recaptcha/fields.py", line 3, in <module>
    from . import widgets
  File "/jogoteca/venv/lib/python3.9/site-packages/flask_wtf/recaptcha/widgets.py", line 6, in <module>
    JSONEncoder = json.JSONEncoder
AttributeError: module 'flask.json' has no attribute 'JSONEncoder'
1 resposta

Olá Guilherme, tudo bem com você?

Com base no log de erro apresentado, o erro AttributeError: module 'flask.json' has no attribute 'JSONEncoder' está ocorrendo devido a uma incompatibilidade entre as versões das bibliotecas utilizadas. Peço que realize a reinstalação das bibliotecas utilizando as versões apresentadas no passo a passo abaixo:

  • Abra o terminal na pasta do seu projeto

  • Crie um arquivo requirements.txt que irá conter as bibliotecas atuais, executando o comando abaixo no terminal

      pip freeze > requirements.txt
  • Execute a desinstalação das bibliotecas presentes no arquivo requirements.txt executando o comando abaixo no terminal, pressione Y e enter quando for solicitado a confirmação da desinstalação

      pip uninstall -r requirements.txt
  • Edite o arquivo requirements.txt , exclua seu conteúdo e adicione as seguintes bibliotecas e versões, salve o arquivo:

      Flask==2.2.2
      mysql-connector-python==8.0.28
      Flask-SQLAlchemy==3.0.3
      Flask-WTF==1.0.0
      Flask-Bcrypt==1.0.1
  • Com o terminal aberto na pasta do projeto, execute o comando abaixo para realizar a instalação das bibliotecas listadas no arquivo requirements.txt

      pip install -r .\requirements.txt
  • Agora, inicie a aplicação executando o arquivo jogoteca.py: python jogoteca.py

  • Agora, a aplicação já está pronta para ser acessada no navegador

Espero ter ajudado. Em caso de dúvidas estou à disposição.

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!