AI_심화-6 파이썬 모듈 시스템

조현진·2025년 1월 2일
0

AI_심화

목록 보기
6/9

전반적으로 만족스럽지 않은 하루였다. 내가 좋은 개발자의 자질이 있는걸까 의심스럽기까지 하다. 결과물을 내지 못해서 그런 것 같다.

미니 프로젝트를 진행하기 위해 깃허브 리포지토리를 생성하고 팀원들과 공유했다. 깃으로 협업해본 경험이 많이 없는 팀원들도 있어서 사용하는걸 가르쳐드렸다.
그리고 fastAPI에 mongoDB연결을 시도했다. 그랬더니 오전이 거의 다 지나갔다.

과정에서 시행착오도 있었고, 이해가 잘 되지 않는 부분도 있었다. 특히 파이썬의 모듈 시스템에서 이해가 안되는게 있어 막혔다.

파이썬 모듈 시스템

재미있는건 내가 정확하게 어떤게 문제인지 조차 파악하지도 못했던걸 집에 와서 예상치 못한 곳에서 해결책을 찾았다는 것이다. DockerCompose파일을 작성하려다 .d 파일의 정체를 알고 싶어 검색했다. 그러다 다음의 포스팅을 발견했다..!

파이썬 내장 모듈과 동일한 이름 피하기 https://www.bangseongbeom.com/avoid-same-names-as-python-builtin-modules.html

내가 본 에러 로그 메세지도 위에서 나온 '부정확한 오류 메시지'와 같았다. 나도 대강 포스팅과 같은 이유겠거니 생각은 했지만, 정말 그렇다면 대체 이 지뢰와 같은 중복 문제를 어떻게 해결해야 할까, 벌써 귀찮아지기 시작했었다.

위 문제를 만났을 때 sys.path 를 이용해 해결하는 법에 대해서도 대해서도 어렴풋이 알게 되었었다. 그런데 정말 그렇게 해결하는게 최선일까 싶었다. sys.pathappend()로 경로를 추가하는거라면, 해당 경로를 config파일이나 path 같은 파일에 모아두어야 하는거 아닌가? 모아두어야 한다면, 그때그때 내가 작성해서 전부 모아야 한단 말인가? 벌써 지끈지끈하다.

더 재밌는건 위 포스팅을 작성하신 분께서도 sys.path 에 관해서 포스팅을 이미 하셨다는 것이다!

sys.path, PYTHONPATH: 파이썬 파일 탐색 경로
https://www.bangseongbeom.com/sys-path-pythonpath.html

python에 대해선 아직 best practice를 모르겠다. 그래서 자잘자잘한 문제에서도 최선을 생각해보느라 시간을 오래끌게 된다.

오늘 연결한 DB에 대해서도 그렇다. 커넥션을 얻어오기 위한 코드들을 어떤 계층에서 어떻게 관리해야하는게 좋은 방법일까? 아직도 감이 잘 오지 않는다.

0개의 댓글