inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!

7-1. FastAPI 초기 설정

백엔드 도커 실행 에러가 뜹니다 ㅠ

해결된 질문

200

호호하하

작성한 질문수 6

0

에러 로그는 아래와 같아요
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'

 

 

위 에러 때문인지 코드에서 아래 에러? 도 뜨네요

image.png

 

uvicorn main:app --reload도 당연 에러 뜨구요..

어떤 부분을 확인하면 될까요? ㅠ

 

react mysql docker rest-api FastAPI

답변 2

0

호호하하

삭제된 글입니다

0

닭강정

안녕하세요. 보내주신 깃허브 링크에 현재 접속 할 수 없습니다. 다시 한번 링크를 확인해주실 수 있으실까요? 감사합니다!

0

호호하하

public 으로 변경했는데 접근 되실까요???

0

호호하하

혹시 어떻게 됐을까요?

0

닭강정

안녕하세요. 답변이 늦어서 죄송합니다. 질문글은 메일로 알람이 오는데 대댓글은 따로 알람이 없네요ㅠ

올려주신 github 주소 그대로 다운로드 후 docker 빌드한 결과 수강생분과 동일한 오류는 발견할 수 없었습니다.

123.png

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

image.pngimage.png

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가 실행되지 못하는 상황입니다.


해결방법

TalkAndVote Notion 사이트

Notion 챕터 7-1 FastAPI 초기 설정 토글을 여시면 필요한 코드를 확인하실 수 있습니다.

cd .\backend\
.\venv\Scripts\activate
pip install alembic sqlalchemy pymysql asyncmy cryptography passlib 
pip freeze > requirements.txt
alembic init alembic

Python 가상환경을 생성 후 필요한 패키지를 설치한 후에 해당 패키지 목록들을 requirements.txt로 추출하는 초기 설정 명령어입니다.

Docker 컨테이너를 설치할 시에는, 이 requirements.txt 파일을 빌드 과정에서 컨테이너 내부로 복사하고, pip install -r requirements.txt 명령어로 모든 패키지를 설치해야 합니다. 이렇게 하면 로컬 환경과 컨테이너 환경이 동일한 패키지 구성을 가지게 되어, ModuleNotFoundError와 같은 패키지 누락 문제를 예방할 수 있습니다.

따라서, 챕터 7-1 노션 코드를 천천히 다시 따라 해 보시되, 문제가 지속적으로 발생할 경우 Dockerfile 및 프로젝트 소스코드를 깃허브에 업로드 후 공유해 주시면 좀 더 수월하게 문제를 해결할 수 있을 것 같습니다. 감사합니다!

0

호호하하

처음 에러가 떴었을 때에도 강의 들으면서 알려주신 부분 커맨드로 실행은 했었거든요?

오늘 저녁에 집가서 말씀하신대로 깃허브에 올려서 다시 댓글 달겠습니다

감사합니다

기존 미국주식 자동매매 프로그램과 같은 AWS 서버에서 돌리려고 할때

1

12

1

ClusterIP 실습 시 Connection refused

0

11

1

제공된 스크립트를 어디서 받을 수 있나요?

0

16

0

터미널에서 커서 AI 직접 실행

0

15

2

해결했습니다

0

18

1

이런 경우는 어떤 조치를 취해야할까요?

0

18

2

트랜잭션 내 Redis I/O 에 대한 궁금한점

1

18

1

hooks 설정이 안되요

0

35

2

영상 최신으로 엡데이트 요청

0

59

2

유튜브 시연 영상 추가 기능 강의 업로드 계획

0

94

3

관리자 페이지 질문

0

69

2

이제 인프런에서 강의 더 안산다. 후져....

0

132

3

소스코드 어디서 다운받아요?

0

162

7

추가 강의 업로드 계획은 어떻게 되시나요?

0

159

2

verify_token 함수의 네이밍에 대한 질문입니다

0

117

2

6-2 강의 노션 코드 오타인거죠? 2

0

159

3

[강의 오류 리포트] React Router Outlet 사용 오류

0

113

1

[강의 오류 제보] Navbar 컴포넌트 코드 오류 발견

0

142

2

데모사이트 접속이 안됩니다.

0

98

1

membership부분은 몇 강의에서 진행하신건가요?

0

104

1

Github repository는 없나요?

0

136

1

6-2 강의 노션 코드 오타인거죠?

0

114

1

섹션2 퀴즈 정답 이상함..( Docker 핵심구성요소가 아닌 것)

0

111

1

Navbar.jsx 메뉴 바 제작 (2부) 강의 MobileToggleButton.jsx 코드가 다른 것 같아요

0

143

1