-------------------------------------------------------------------------------


< 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설정 붙여넣기


-------------------------------------------------------------------------------

+ Recent posts