-------------------------------------------------------------------------------
< django(장고)에서의 requirements.txt >
생성 : pip freeze > requirements.txt
사용 : pip install -r requirements.txt
* requirements.txt install 오류 발생시...
- egg, pillow, fatal 오류 등... --> 해결 안되면...파이썬 버젼 다운그레이드
python-3.7.0 --> python-3.6.4 로 다운그레이드하니 많은 문제가 해결되었음.
- 파이썬 설치 직후나 venv 가상환경 생성 직후는 pip 업그레이드부터 시행
단, pip 업그레이드시 python -m pip install -upgrade pip 로 해야함.
(pip install -upgrade pip 로 하면 pip 삭제 후 재설치하면서 python이 꼬임.)
--> 이 경우는 다른 모듈 설치시 pip 가 없다고 나오거나 실행할 수 없는 명령이라고 나옴.
--> 파이썬 재설치 또는 가상환경을 새로 만들어야 함.
- 위의 조치를 했는데 설치시 permission 관련 오류나 --user 옵션을 고려하라는 메세지가 나오면...
--> 가상환경에서 --user 옵션으로 설치하면
Will not install to the user site because it will lack sys.path precedence to pip in d:\hspjtr\venv_eng\lib\site-packages
메세지 나오면서 설치 멈춤.
--> 이때는 pc에 직접 --user 옵션으로 설치하니 모두 해결되었음.
pip install -r requirements.txt --user
* 윈도우 환경에서 권한 관련 설치 오류시 --user option 또는 cmd창을 admin 권한으로 실행시키는 방법도 시도해 볼만함.
* 가상환경내에서 설치권한 문제를 해결하는 방법을 찾는게 바람직함.
*** cmd를 관리자 권한으로 실행해서 가상환경내에서 테스트
- pip install -r requirements.txt --> pip 최신버젼이 uninstall되면서 멈춤
- --user 옵션 --> Will not install to the user site because it will lack sys.path precedence~~~ 에러발생
- python -m pip install -r requirements.txt --> 정상설치됨!
*** requirements.txt 설치 정리
- pc환경 : 일반권한 cmd --> pip install -r requirements.txt --> 실패
- pc환경 : 일반권한 cmd --> pip install -r requirements.txt --user --> 성공
- pc환경 : 관리자권한 cmd --> pip install -r requirements.txt --> 아마도 성공할 것임.
- 가상환경 : 일반권한 cmd --> pip install -r requirements.txt --> 실패
- 가상환경 : 일반권한 cmd --> pip install -r requirements.txt --user --> 실패
- 가상환경 : 관리자권한 cmd --> python -m pip install -r requirements.txt --> 성공
*** 즉, requirements 설치시 파이썬 버젼은 너무 높지 않은 적당한 버젼을 사용해서,
pc환경에서는 --user 옵션을 주거나 cmd를 관리자 권한으로 실행하면 성공,
가상환경에서는 --user 옵션을 사용불가하고, pip 명령어도 pip 버젼이 달라서 pip 자체를 삭제하는 경우가 발생하기 때문에 사용불가하고, 관리자cmd 권한으로 python -m pip ~~~ 명령어로 하면 성공.
* 가상환경에서 일반 cmd 권한으로 python -m pip install -r requirements.txt로 하면???
성공 --> pip는 삭제하고 끝나지만 서버 정상 구동.
* pc 환경에서 일반 cmd 권한으로 python -m pip install -r requirements.txt로 하면???
성공
* pc환경에서 pip upgrade는 cmd 일반권한으로 안되고 cmd 관리자 권한으로만 됨.
*** requirements.txt 설치 최종 정리 (--user option은 성공하는 경우도 있지만 불필요)
- 파이썬은 너무 최신 버젼은 피하고 호환성 높은 버젼 선택
- pip upgrade는 반드시 cmd 관리자 권한으로 pip install --upgrade pip가 아닌 python -m pip install --upgrade pip 명령을 사용.
- pc 환경이든 가상환경이든 pip install -r requirements.txt 가 아닌 python -m pip install -r requirements.txt 명령을 사용. (확실하게 성공하려면 cmd 관리자 권한 사용)
*** 위의 과정중 pip 업그레이드에 pip를 사용하게된 경우 pip가 비정상 상태로 되어서,
python -m pip install --upgrade pip 도 작동되지 않고 붉은색 오류 메세지만 나오게 됨.
--> 이때는 pip 자체를 재설치 해줘야 함. (easy_install pip)
(이 방법도 정상적으로 반영되지 않는 경우는 %appdata% 의 python 및 package 설치 폴더에서 pip 관련된 폴더는 모두 지우고나서 easy_install pip 재시행.
* 특정 setting으로 runserver (config\settins\local.py)
python manage.py runserver --settings=config.settings.local
* instagram-clone-master(완성도높음참고용) --> 실행방법
- requirements 는 base.txt --> local.txt 순으로 적용
- 서버 가동은 : python manage.py runserver --settings=config.settings.local
- 세팅의 local이 base는 import해서 적용시킴.
(base.py는 DB를 sqlite3로 변경해서 사용; os import, base dir 지정, sqlite3 db설정 붙여넣기
-------------------------------------------------------------------------------
'프로그래밍(Programming) > 장고(Python-Django)' 카테고리의 다른 글
synology nas ssh 접속~ synology nas에 django 설치 및 세팅 (0) | 2019.01.06 |
---|---|
장고걸스 튜토리얼(djangogirls tutorial) 실습 - 기본 (0) | 2019.01.06 |
django(장고) 실습 : Django 기초 지식, 프로젝트 생성 ~ 앱 생성 및 구성 (0) | 2019.01.06 |
django(장고) 실습 : Virtualbox 및 우분투 가상환경 셋업 ~ Linux-ubuntu 세팅 (0) | 2019.01.06 |
장고(Django)앱 내부pc 접속테스트_성공기 (0) | 2018.12.27 |