Olá Boa Noite
Estou tendo erros nesta fase do projeto. O primeiro nesta linha do Dict(str, str)
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá Boa Noite
Estou tendo erros nesta fase do projeto. O primeiro nesta linha do Dict(str, str)
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:
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.
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!
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)
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 :) ...