I ran Python, FastAPI, and PostgreSQL as docker-compose, but it doesn't work with these errors.
I don't know why this error occurs.
Full Error Message:
learn-fastapi-web-1 | Traceback (most recent call last):
learn-fastapi-web-1 | File "<frozen runpy>", line 198, in _run_module_as_main
learn-fastapi-web-1 | File "<frozen runpy>", line 88, in _run_code
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module>
learn-fastapi-web-1 | uvicorn.main()
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
learn-fastapi-web-1 | return self.main(*args, **kwargs)
learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1078, in main
learn-fastapi-web-1 | rv = self.invoke(ctx)
learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
learn-fastapi-web-1 | return ctx.invoke(self.callback, **ctx.params)
learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 783, in invoke
learn-fastapi-web-1 | return __callback(*args, **kwargs)
learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 416, in main
learn-fastapi-web-1 | run(
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 587, in run
learn-fastapi-web-1 | server.run()
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 61, in run
learn-fastapi-web-1 | return asyncio.run(self.serve(sockets=sockets))
learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
learn-fastapi-web-1 | return runner.run(main)
learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
learn-fastapi-web-1 | return self._loop.run_until_complete(task)
learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
learn-fastapi-web-1 | File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 68, in serve
learn-fastapi-web-1 | config.load()
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/config.py", line 467, in load
learn-fastapi-web-1 | self.loaded_app = import_from_string(self.app)
learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/importer.py", line 21, in import_from_string
learn-fastapi-web-1 | module = importlib.import_module(module_str)
learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
learn-fastapi-web-1 | File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
learn-fastapi-web-1 | return _bootstrap._gcd_import(name[level:], package, level)
learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
learn-fastapi-web-1 | File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
learn-fastapi-web-1 | File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
learn-fastapi-web-1 | File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
learn-fastapi-web-1 | File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
learn-fastapi-web-1 | File "<frozen importlib._bootstrap_external>", line 940, in exec_module
learn-fastapi-web-1 | File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
learn-fastapi-web-1 | File "/main.py", line 5, in <module>
learn-fastapi-web-1 | from . import crud, models, schemas
learn-fastapi-web-1 | ImportError: attempted relative import with no known parent package
Dockerfile:
FROM python:latest
COPY . .
RUN pip install -r requirements.txt
CMD python -m uvicorn --host=0.0.0.0 main:app
Thanks!
I also added
to docker-compose.yaml and fixed the issue!