에러#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