1
resposta

[Bug] Estou tendo dificuldades com um erro no curso de Flask

Estou fazendo o curso Flask: avançando no desenvolvimento web com Python, na primeira etapa de 1. Persistência com MySQL, mesmo utilizando o mesmo código apresentado na aula, sempre encontro o seguinte erro, ao utilizar a IA Luri, ela me sugeriu revisar a instalação das bibliotecas, fiz a reinstalação de todas, utilizando a versão sugerida na aula, e as versões mais atualizadas, mas o erro ainda persiste, alguém sabe como posso estar corrigindo esse erro?

O erro é o seguinte: Traceback (most recent call last): File "c:\Users\User\Desktop\Alura\Codigos - 1\Jogoteca-new\Jogoteca.py", line 21, in db = SQLAlchemy(app) ^^^^^^^^^^^^^^^ File "C:\Users\User\Desktop\Alura\Codigos - 1\venv\Lib\site-packages\flask_sqlalchemy_init_.py", line 758, in init include_sqlalchemy(self, query_class) File "C:\Users\User\Desktop\Alura\Codigos - 1\venv\Lib\site-packages\flask_sqlalchemy_init.py", line 112, in include_sqlalchemy for key in module.all: ^^^^^^^^^^^^^^ File "C:\Users\User\Desktop\Alura\Codigos - 1\venv\Lib\site-packages\sqlalchemy_init.py", line 294, in getattr raise AttributeError(f"module {name!r} has no attribute {name!r}") AttributeError: module 'sqlalchemy' has no attribute 'all'. Did you mean: 'file'?

1 resposta

Oi, Gabriel! Tudo bem?

Sinto muito pelo erro que está tendo, como as bibliotecas estão em constantes atualizações, acaba sendo um pouco custoso encontrar as versões que não causam incompatibilidade. O erro se baseia na atualização de que o SqlAlchemy não possui suporte para o atributo all em certas versões.

Mas, não se preocupe, vamos resolver.

  • Abra o terminal na pasta do seu projeto.

  • Desinstale a biblioteca Flask-SQLAlchemy executando o comando abaixo no terminal. Caso seja perguntado se deseja continuar, digite Y e pressione ENTER

    pip3 uninstall Flask-SQLAlchemy
    
  • Instale a versão 3.0.3 da biblioteca Flask-SQLAlchemy, com o seguinte comando:

    pip3 install Flask-SQLAlchemy==3.0.3
    
  • Execute novamente o arquivo jogoteca.py executando o comando abaixo no terminal aberto na pasta do projeto.

    python3 jogoteca.py
    

Espero que dê certinho! Qualque dúvida, conte conosco.

Espero que essas dicas ajudem a resolver o seu problema. Bons estudos!