[CP1]배포라 쓰고 에러파티라 읽는다

포동동·2022년 9월 11일
0

Team Project(PM)

목록 보기
8/9


에러#1

이것은 시작에 불과했다. git으로 폴더 전체를 push 하려니 파일 용량이 커서 안 된단다. 그래서 폴더를 뒤져보니 200MB짜리 1개 100MB짜리 1개라 거뜬히 github에서 권장하는 50MB를 넘더라. 그래서 방법을 찾아보니 아래의 방법으로 해결이 가능했다.

# https://git-lfs.github.com/
# Git Large File Storage를 각자의 os에 맞게 설치합니다.
git lfs install
# 대용량 파일 혹은 확장자 지정
git lfs track "대용량파일명"
git lfs track "*.확장자명"
# 그러면 .gitattributes 파일이 생기는데 이거까지 add, commit, push
git add .gitattributes
git commit -m "커밋 메시지"
git push -u <원격저장소명> <브랜치명>


에러#2

새로 생성한 linux 환경에서 apt-get update 등이 안 됨.
→ ubuntu에선 apt-get command가 있지만, 내가 사용한 CentOS에는 yum이 있다.

# Update All Packages
sudo yum update
# Install pip 3 and python 3
sudo yum install python3 pip3
# Then install virtualenv using pip3
sudo pip3 install virtualenv 
# Now create a virtual environment (will create folder)
virtualenv your_project_name
# You can also use a Python interpreter of your choice (currently ships with 2.7.16)
virtualenv -p /usr/bin/python your_project_name
# Active your virtual environment:
source your_project_name/bin/activate
# To deactivate:
deactivate


에러#3

requirements.txt 파일이 설치가 안 됨. 앞에 자꾸 @가 붙음.
freezer를 install하면 됨. 혹은 아래 명령어를 사용하면 됨.

# 방법1
pip install freezer
pip freeze > requirements.txt
# 방법2
pip list --format=freeze > ./requirement


에러#4

pip install requirements.txt을 했는데, 그 안에서 파이썬(개발환경은 3.9.12, 가상환경은 3.8.6)과 버전충돌 나고 난리남.
→ 크게 중요하지 않은 모듈들은 requirements.txt에서 직접 수정함.(다만 나중에는 꼭 로컬에서 제대로 돌아가는지 확인했다) 참고

vi [파일명] # 파일 열기
i # 수정
:wq # 저장 후 종료

그런데 만약 E45: 'readonly' option is set (add ! to override)에러가 났다면, sudo vi [파일명]으로 들어가주면 된다.



에러#5

심신이 지쳐있을 때 쯤, 괜히 한 번 django에서 debug=false 해봤다가 static 파일 로딩 안 되는 거 보고 멘탈 터짐. 찾아보니 로컬에서는 debug=true라 제대로 로딩해주는데 서버에서 실행할 때는 setting.py에 있는 루트대로 불러올 수가 없다고(static, media 둘 다). 따라서 url.py에 아래와 같이 넣어주면 됨.

from django.views.static import serve
url(r'^media/(?P<path>.*)$', serve,{'document_root': settings.MEDIA_ROOT}),
url(r'^static/(?P<path>.*)$', serve,{'document_root': settings.STATIC_ROOT}),


에러#6

그래도 requirements.txt가 안 깔리는 거임. 미쳐버려🤬. 찾아보니 pycurl을 install 할 때 뭐가 안 되는거임.
yum install libcurl-devel을 실행해주면 됨. 그.런.데. 세상살이 그리 쉽지 않음. yum이랑 python이랑 버전이 안 맞아서 yum이 해석을 못 함. 아래와 같이 해결. 말끔히 pycurl 설치 가능.

# yum 파일 실행
vi /usr/bin/yum
# !/usr/bin/python 이 부분이 아래와 같이 되야함
!/usr/bin/python2 
# 또 하나 더 편집해야 함.
vi /usr/libexec/urlgrabber-ext-down
# 똑같이 !/usr/bin/python 이 부분이 아래와 같이 되야함
!/usr/bin/python2


에러#7

에러.에러.에러.에러.에러.에러.에러. 난 백엔드 안 할란다. 뭔 놈의 버전끼리 충돌이 이렇게 많냐. 그냥 모든 개발자들 모아서 한 군데서 업데이트 시켜야 함. 결국 CentOS에서 ubuntu로 갈아탔다. 하지만 여기서도 고통 ^O^
배포 그냥 하지 말까?ㅎㅎ



에러#8

ubuntu로 넘어와도 뭐 그렇게 의존성이 많은지. 뭐 하나 깔면 dev 툴 없다고 징징대서 또 깔아주면 다른 게 또 문제임. 버전도 다 다르고.... 두 번 다신 딥러닝 서빙 안 한다. 그러다 찾던 나의 구세주.
--upgrade : 무조건 업그레이드
--no-deps : 종속성은 무시하고
--force-reinstall : 무조건 다시 인스톨 해버려

pip install --upgrade --no-deps --force-reinstall -r requirements.txt
profile
완료주의

0개의 댓글