2023. 4. 14. 18:00ㆍ카테고리 없음
2023.04.14 금
문제
프로젝트 파일을 pull을 사용하여 내려받은 후 추가된 모듈을 설치하기 위해 기존의 venv를 날리고 requirements.txt에 명시된 모듈을 받기 위해
pip install -r requirements.txt
위의 명령어로 패키지 설치 중 에러발생
시도
무슨 문제인지 찾다가 문구 발견하여 GPT에게 질문 했습니다.
Q:
Using cached certifi-2022.12.7-py3-none-any.whl (155 kB)
Using legacy 'setup.py install' for screen, since package 'wheel' is not installed.
Installing collected packages: screen, excel-base, django-excel-response2, django-admin, django-extensions, idna, mypy-extensions, oauthlib, packaging, pathspec, Pillow, platformdirs, pycparser, PyJWT, defusedxml, python3-openid, charset-normalizer, urllib3, certifi, requests, requests-oauthlib, tomli
Running setup.py install for screen ... error
무슨 에러인지
A:
이 에러는 screen 패키지를 설치하려는 중에 발생한 오류입니다. setup.py 파일이 사용되어 레거시 방식으로 설치를 시도하고 있는데, 'wheel' 패키지가 설치되어 있지 않아서 발생한 오류입니다.
레거시의 뜻을 '오래된' 정도로 알고 있어 확실한 정보를 위해 GPT에게 질문해보았습니다
Q:
레거시 방식이 무엇인지
A:
레거시(Legacy) 방식은 새로운 기술이나 방법론이 나왔음에도 불구하고, 예전에 만들어진 소프트웨어나 시스템을 그대로 유지하면서 사용하는 것을 말합니다. 즉, 이전에 사용되던 기술이나 방식을 지속적으로 사용하면서 업그레이드를 거의 하지 않는 것입니다.
설치해야할 wheel모듈이 어떻게 사용되고 왜 설치해야하는지 알기 위해 질문했습니다.
Q:
wheel은 어떤 모듈인지
A:
wheel은 Python 패키지 배포를 위한 파일 포맷 중 하나입니다. wheel 파일은 패키지와 해당 종속성을 포함하며, pip를 사용하여 쉽게 설치할 수 있습니다. wheel 파일은 속도가 빠르고, 쉽게 다운로드할 수 있으며, 빌드 시간이 짧기 때문에 많은 프로젝트에서 사용됩니다. wheel은 또한 다양한 운영 체제에서 파이썬 모듈의 이식성을 향상시키는 데 도움이 됩니다.
wheel은 배포에 필요한 모듈이며 배포된 파일이 빠르고 쉽게 다운받을 수 있게한다 정도로 이해했습니다.
해결
$ pip install wheel
명령어를 이용하여 wheel 모듈 설치하였습니다.
다시 모듈 설치를 위해 명령어 사용하였습니다.
pip install -r requirements.txt
또다시 에러가 발생하였습니다.
에러안내를 파악하던 중 pip 버전이 오래된 것이 문제를 발생시킬수 있다 생각하여 일단 pip부터 업그레이드 시켰습니다.
(venv 생성 시 기본으로 깔리는 pip 버전이 이전 버전이라 주의 문구가 계속발생하여 업그레이드 시키자 생각했습니다.)
python.exe -m pip install --upgrade pip
202.2.1->23.0.1로 업그레이드 완료 후 다시 패키지 설치를 위해 명령어를 사용했습니다.
pip모듈을 업그레이드의 중요성을 바로 알 수 있었습니다, 오류가 발생했지만 파악하기 쉽게 정리되어 문구가 출력됩니다.
읽어보니 screen패키지를 빌드할 때 필요한 Microsoft Visual C++ 14.0가 설치되어 있지 않다는 에러임을 파악했습니다.
설치를 위해 방법을 찾던 중 이 블로그 글을 보고 따라 설치하였습니다.
https://mithumbsup.tistory.com/12
python Error:Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio" 해결하기
pip install error 가 나타났다 이번 문제는 Microsoft Visual C++ 빌드도구를 설치하는 게,, 핵심 error 1 ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error : Microsoft Visual C++ 14.0 is required. Get it with "Build Tools fo
mithumbsup.tistory.com
다시 명령어를 사용하여 패키지를 설치해보겠습니다.
별다른 에러 없이 설치가 완료되었고 서버도 문제없이 열리는 것을 확인했습니다.
느낀점
에러 이유를 분석하고 해결하는 과정은 매우 답답하고 짜증이 납니다, 특히 내가 사용하는 모듈이 아닌 경우 문제 해결이 더욱 어려워집니다.
필요한 모듈에 관하여 txt로 정리했지만, 아마 marge 작업 중 오류가 발생하여 해결하는 과정에서 모듈을 설치하였고 명시하지 않은 것 같습니다. 저장소에 push 전에
$ pip freeze > requirements.txt
명령어를 사용하는 것도 하나의 방법 같네요.
예전 같으면 오류를 해결하지 못해 힘들었을 것인데 보는 눈이 조금 생겨서 그런지 문제도 해결하고 하네요 어제 보다 나은 사람이 된다는 점에서 기분이 좋습니다.