첫 해커톤 도전기(3)

결과적으로는 해커톤에 참여하기도 전에 미션에서 떨어졌다.🥲 해커톤 치고는 일주일이라는 시간은 짧지 않은 시간이였기 때문에 분명 꼼꼼한 기준이 있을것이라고 생각해서 디렉토리 구조나, 파일명 등을 신경 써서 설계하고, 미션에 대한 의도를 파악하려고 노력하며 본선에서는 어떻게 개발할지를 고민하고 설레하던 시간이 었다.
그랬던 만큼 많이 아쉽고 왜 불합격됐는지 의문이었다.
사실 이번 해커톤에 참여하는 대부분의 사람들은 main.py에 때려박는 코드를 작성하는 것을 보고 더 희망을 가졌던 것 같다.
그래서 주최측에 메일을 보내서 불합격된 이유를 물어봤다.
불합격 원인

💩 에러
Collecting python-multipart==0.0.20
(from -r requirements.txt (line 46))
Using cached python_multipart-0.0.20-py3-none-any.whl.metadata (1.8 kB)
ERROR: Could not find a version that satisfies the requirement pywin32==311
(from versions: none) ERROR: No matching distribution found for pywin32==311
이 오류는 pywin32==311이 Windows 전용 패키지인데, Windows가 아닌 시스템(Linux나 macOS)에서 설치하려고 해서 발생 한 것이다.
✨ 해결 방안
- pywin32 제거 (불필요한 경우)
-
Windows가 아니거나 Windows 전용 기능이 필요 없다면 해당 줄을 삭제하거나 주석 처리:
# pywin32==311 # Windows 전용 -
해당 패키지 제외하고 설치:
grep -v pywin32 requirements.txt | pip install -r /dev/stdin # 또는 pip install -r requirements.txt --ignore-installed || true
회고
이번 해커톤을 통해서 이메일로 불합격된 사유를 물어보지 않았더라면 몰랐을, 정말 중요한 부분에 대해 알게 됐다.
전혀 예상하지 못한 부분이였다.
앞으로 python으로 개발할 때, $ pip freeze > requirements.txt로 생성 후 다시 한번 불필요한 패키지가 포함되어 있지는 않은지 확인 하고 다양한 환경에서 테스트 해보는 것이 중요하다는 생각이 들었다.
또, 귀로만 들었던 MCP에 대해 공부하고 MCP서버를 직접 구현해 봄으로써 LLM시대의 백엔드 개발은 FastMCP 프레임워크로 갈수도 있을 것 같다는 생각이 들어서 사이드 프로젝트로 조금 더 사용해보며 친숙해 져야겠다.