백엔드 도커 실행 에러가 뜹니다 ㅠ
에러 로그는 아래와 같아요
File "<frozen importlib._bootstrap_external>", line 999, in exec_module
File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed
File "/app/main.py", line 6, in <module>
from app.db.database import Base, async_engine
File "/app/app/db/database.py", line 1, in <module>
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
ModuleNotFoundError: No module named 'sqlalchemy'
WARNING: WatchFiles detected changes in 'app/db/crud/user.py'. Reloading...
Process SpawnProcess-2:
Traceback (most recent call last):
File "/usr/local/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/usr/local/lib/python3.12/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.12/site-packages/uvicorn/_subprocess.py", line 80, in subprocess_started
target(sockets=sockets)
File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 67, in run
return asyncio.run(self.serve(sockets=sockets))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/runners.py", line 195, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete
File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 71, in serve
await self._serve(sockets)
File "/usr/local/lib/python3.12/site-packages/uvicorn/server.py", line 78, in _serve
config.load()
File "/usr/local/lib/python3.12/site-packages/uvicorn/config.py", line 436, in load
self.loaded_app = import_from_string(self.app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/uvicorn/importer.py", line 22, in import_from_string
raise exc from None
File "/usr/local/lib/python3.12/site-packages/uvicorn/importer.py", line 19, in import_from_string
module = importlib.import_module(module_str)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
return bootstrap.gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in gcdimport
File "<frozen importlib._bootstrap>", line 1360, in findand_load
File "<frozen importlib._bootstrap>", line 1331, in findand_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in loadunlocked
File "<frozen importlib._bootstrap_external>", line 999, in exec_module
File "<frozen importlib._bootstrap>", line 488, in callwith_frames_removed
File "/app/main.py", line 6, in <module>
from app.db.database import Base, async_engine
File "/app/app/db/database.py", line 1, in <module>
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
ModuleNotFoundError: No module named 'sqlalchemy'
위 에러 때문인지 코드에서 아래 에러? 도 뜨네요
uvicorn main:app --reload도 당연 에러 뜨구요..
어떤 부분을 확인하면 될까요? ㅠ
回答 2
0
삭제된 글입니다
0
안녕하세요. 답변이 늦어서 죄송합니다. 질문글은 메일로 알람이 오는데 대댓글은 따로 알람이 없네요ㅠ
올려주신 github 주소 그대로 다운로드 후 docker 빌드한 결과 수강생분과 동일한 오류는 발견할 수 없었습니다.

문제가 발생한 패키지 'sqlalchemy'가 제대로 설치된 이미지


Docker 백엔드 컨테이너에서도 큰 문제를 발견하지 못했습니다.
번거로우시겠지만, docker-compose.yml 파일이 있는 경로에서 CMD를 열고 아래 명령어를 실행한 뒤, 다시 빌드하여 확인 부탁드립니다.
docker-compose down --volumes --rmi all
docker-compose up --build 또한, 추가 문의가 있으신 경우 인프런 대댓글 대신 dakgangjung122@gmail.com으로 메일을 주시면 바로 피드백 드릴 수 있습니다. 감사합니다!
0
메일로 문의 드렸는데
백앤드가 실행이 안되네요...ㅠ
잘 되신다니 제 쪽에 뭔가 문제가 있는 것 같은데...
docker-compose down --volumes --rmi all
docker-compose up --build
위 명령어 수행 후, 백앤드 로그에 아래와 같이 뜨네요
exec /entrypoint.sh: no such file or directory
제가 gpt 물어보며 해야겠네요 ㅠ
0
안녕하세요. 질문 주셔서 감사합니다!
오류 메세지 마지막 부분에서ModuleNotFoundError: No module named 'sqlalchemy' 라는 문구가 있습니다. 말 그대로 Docker 컨테이너 내부에 sqlalchemy 패키지가 설치되어 있지 않아서 FastAPI가 실행되지 못하는 상황입니다.
해결방법
Notion 챕터 7-1 FastAPI 초기 설정 토글을 여시면 필요한 코드를 확인하실 수 있습니다.
cd .\backend\
.\venv\Scripts\activate
pip install alembic sqlalchemy pymysql asyncmy cryptography passlib
pip freeze > requirements.txt
alembic init alembicPython 가상환경을 생성 후 필요한 패키지를 설치한 후에 해당 패키지 목록들을 requirements.txt로 추출하는 초기 설정 명령어입니다.
Docker 컨테이너를 설치할 시에는, 이 requirements.txt 파일을 빌드 과정에서 컨테이너 내부로 복사하고, pip install -r requirements.txt 명령어로 모든 패키지를 설치해야 합니다. 이렇게 하면 로컬 환경과 컨테이너 환경이 동일한 패키지 구성을 가지게 되어, ModuleNotFoundError와 같은 패키지 누락 문제를 예방할 수 있습니다.
따라서, 챕터 7-1 노션 코드를 천천히 다시 따라 해 보시되, 문제가 지속적으로 발생할 경우 Dockerfile 및 프로젝트 소스코드를 깃허브에 업로드 후 공유해 주시면 좀 더 수월하게 문제를 해결할 수 있을 것 같습니다. 감사합니다!
클로드코드 유료플랜 할인 방법이 있을까요?
0
15
0
docker compose에 대해 질문드립니다.
0
8
1
API Error : 400 에러의 원인과 해결방법이 궁금합니다!!
0
16
2
퍼미션 권한 설정 문의
0
18
2
패키지 구분에 대해 궁금한게 있습니다
0
7
1
순위가 동률일 때의 처리에 대해 질문드립니다.
0
10
2
커서에서 shift+enter가 안됩니다.
0
19
2
mcp 설치를 못하겠어요
0
28
2
라이브러리 관련 질문 있습니다!
0
24
2
output-styles은 Claude Code의 공식 기능이 아니라고 하는데 혹시 변경된걸까요?
0
19
2
클로드 변경
0
25
2
/config 에서 output-style 을 변경
0
22
1
한국어 문제
0
25
2
추가 강의 업로드 계획은 어떻게 되시나요?
0
90
2
verify_token 함수의 네이밍에 대한 질문입니다
0
69
2
6-2 강의 노션 코드 오타인거죠? 2
0
87
3
[강의 오류 리포트] React Router Outlet 사용 오류
0
79
1
[강의 오류 제보] Navbar 컴포넌트 코드 오류 발견
0
78
2
데모사이트 접속이 안됩니다.
0
54
1
membership부분은 몇 강의에서 진행하신건가요?
0
59
1
Github repository는 없나요?
0
89
1
6-2 강의 노션 코드 오타인거죠?
0
79
1
섹션2 퀴즈 정답 이상함..( Docker 핵심구성요소가 아닌 것)
0
77
1
Navbar.jsx 메뉴 바 제작 (2부) 강의 MobileToggleButton.jsx 코드가 다른 것 같아요
0
87
1

