1
resposta

[Bug] Baixei a versão final do programa, mas ele não roda

Fiz o download do projeto final... fui rodar na minha máquina e o terminal apresentou o erro abaixo:

File "c:\Projetos\JOGOTECA\jogoteca.py", line 2, in <module>
    from flask_sqlalchemy import SQLAlchemy
  File "C:\Users\genesis.baptista\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask_sqlalchemy\__init__.py", line 5, in <module>       
    from .extension import SQLAlchemy
  File "C:\Users\genesis.baptista\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask_sqlalchemy\extension.py", line 22, in <module>     
    from .session import _app_ctx_id
  File "C:\Users\genesis.baptista\AppData\Local\Programs\Python\Python311\Lib\site-packages\flask_sqlalchemy\session.py", line 8, in <module>        
    from flask.globals import app_ctx
ImportError: cannot import name 'app_ctx' from 'flask.globals'

Acredito que seja alguma problema das versões que estou usando... abaixo seguem as versões... poderiam me ajudar a entender o problema?

pip freeze

bcrypt==4.0.1
cachelib==0.10.2
click==8.1.3
colorama==0.4.6
Flask==2.1.3
Flask-Bcrypt==0.7.1
Flask-MySQL==1.5.2
Flask-Session==0.4.0
Flask-SQLAlchemy==3.0.3
Flask-WTF==1.0.0
greenlet==2.0.2
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.2
mysql-connector-python==8.0.28
mysqlclient==2.1.1
protobuf==4.22.1
PyMySQL==1.0.2
SQLAlchemy==2.0.8
typing_extensions==4.5.0
Werkzeug==2.2.3
WTForms==3.0.1
1 resposta

Olá Gênesis, tudo bem com você?

Com base no log de erro apresentado, isso pode estar 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

  • 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 e adicione as seguintes 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!