3
respostas

erro ao rodar o servidor

Olá Boa Noite

Estou tendo erros nesta fase do projeto. O primeiro nesta linha do Dict(str, str)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
3 respostas

Bom dia, Alexandre! Como vai?

O erro está relacionado à importação do módulo app. O erro "ModuleNotFoundError: No module named 'app'" indica que o Python não está conseguindo encontrar o módulo app.

Aqui estão algumas sugestões para resolver o problema:

  1. Verifique o Caminho do Projeto:
    Certifique-se de que você está executando o comando uvicorn a partir do diretório correto, onde a estrutura de pastas está como esperado.

  2. Verifique o Nome do Módulo:
    No comando uvicorn, você está especificando app.main:app. Certifique-se de que o diretório app contém realmente o arquivo main.py.

Caso nenhuma dessas resolvam, peço que compartilhe todo o seu projeto para que eu possa analisar e testar para identificar o problema.

Espero ter ajudado e bons estudos!

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

Olá amigo,

Ainda não, tentei fazer o que vc comentou indo até a pasta app, e depois instalando o fastapi, uvicorn e fazendo o comando uvicorn app.main:app --reload. vou colar embaixo o print da minha árvore de diretórios.

(venv) ➜ app pip install fastapi
Collecting fastapi
Downloading fastapi-0.121.0-py3-none-any.whl.metadata (28 kB)

Successfully installed annotated-doc-0.0.3 annotated-types-0.7.0 anyio-4.11.0 fastapi-0.121.0 idna-3.11 pydantic-2.12.3 pydantic-core-2.41.4 sniffio-1.3.1 starlette-0.49.3 typing-extensions-4.15.0 typing-inspection-0.4.2
(venv) ➜ app pip install uvicorn
Collecting uvicorn
Using cached uvicorn-0.38.0-py3-none-any.whl.metadata (6.8 kB)
Collecting click>=7.0 (from uvicorn)
Using cached click-8.3.0-py3-none-any.whl.metadata (2.6 kB)
Collecting h11>=0.8 (from uvicorn)
Using cached h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)
Using cached uvicorn-0.38.0-py3-none-any.whl (68 kB)
Using cached click-8.3.0-py3-none-any.whl (107 kB)
Using cached h11-0.16.0-py3-none-any.whl (37 kB)
Installing collected packages: h11, click, uvicorn
Successfully installed click-8.3.0 h11-0.16.0 uvicorn-0.38.0
(venv) ➜ app pip freeze > requirements.txt
(venv) ➜ app uvicorn app.main:app --reload
INFO: Will watch for changes in these directories: ['/home/alexandre/projetopython/4144-boas-praticas-python-curso01-base/app']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [13377] using StatReload
Process SpawnProcess-1:
Traceback (most recent call last):
File "/usr/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/usr/lib/python3.12/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/home/alexandre/projetopython/4144-boas-praticas-python-curso01-base/app/venv/lib/python3.12/site-packages/uvicorn/_subprocess.py", line 80, in subprocess_started
target(sockets=sockets)
File "/home/alexandre/projetopython/4144-boas-praticas-python-curso01-base/app/venv/lib/python3.12/site-packages/uvicorn/server.py", line 67, in run
return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/home/alexandre/projetopython/4144-boas-praticas-python-curso01-base/app/venv/lib/python3.12/site-packages/uvicorn/server.py", line 71, in serve
await self._serve(sockets)
File "/home/alexandre/projetopython/4144-boas-praticas-python-curso01-base/app/venv/lib/python3.12/site-packages/uvicorn/server.py", line 78, in _serve
config.load()
File "/home/alexandre/projetopython/4144-boas-praticas-python-curso01-base/app/venv/lib/python3.12/site-packages/uvicorn/config.py", line 439, in load
self.loaded_app = import_from_string(self.app)

File "/home/alexandre/projetopython/4144-boas-praticas-python-curso01-base/app/venv/lib/python3.12/site-packages/uvicorn/importer.py", line 22, in import_from_string
raise exc from None
File "/home/alexandre/projetopython/4144-boas-praticas-python-curso01-base/app/venv/lib/python3.12/site-packages/uvicorn/importer.py", line 19, in import_from_string
module = importlib.import_module(module_str)

File "/usr/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Resolvido...

Lembrei de alguma coisa, relacionada a nome de uma pasta ou arquivo...que não pode ter duas pastas com o mesmo nome, mesmo sendo de exercicios diferentes. Dai fiz um teste trocando o nome da pasta "app" por outro qualquer, chamei de "news" e também alterei no arquivo main, os nomes app -> news, e funcionou :) ...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade