파이썬 가상환경 관련
예제에서 제공되는 패키지 목록 : requirements.txt
pip install -r $예제경로/requirements.txt
Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found
관련 에러가 발생하게됨..
centos 기준으로 libffi-devel 패키지가 설치되어 있어야 정상적으로 pip를 이용한 설치 수행 가능
(yum install libffi-devel)
만약 우분투에서도 동일한 에러가 발생 할 경우
libffi-dev 일듯…
이것은 설치된 리눅스 환경별로 다를 수 있지만..
예제를 위해서 centos를 minimal 로 설치했다고 가정한다면…
아마도 반드시 동반 하는 문제 였을 것으로 생각되고
그렇다면 책에는 약간의 설명이 필요하지 않았을까.. 싶다..
예제의 requirements.txt 의 목록들중…
위에 설명했던 libffi외에 다른 라이브러리를 참조할 경우 ”No package ’XXXXX’ found” 라는 형태의 에러가 발생할 가능성이 높음
물론 윈도우 기반의 python + pycharm 을 이용하는 경우 발생하지 않는 에러
권한 관련
예제를 리눅스 상에서
apache, mod_wsgi, virtualenv 환경을 구성후에 로그인 시도를 하게 되면
Exception Type: OperationalError
Exception Value: unable to open database file
에러가 발생함
교제의 경우 runserver를 이용하기 때문에
실행된 python 프로세스의 UID 가 해당 파일을 다루던(쓰기,수정,삭제등) user 이기 때문에 오류가 없었을텐데
(윈도우 기반의 pycharm 역시 동일)
리눅스의 경우 해당 프로젝트 디렉토리(ch2…chN)와 db.sqlite3 파일의 권한이 웹(일반적으로 nobody, apache)유저에게 ”쓰기”권한이 부여되어야 문제가 일어나지 않음
ch2, ch3 의 static 경로 이슈
(이부분은 본인이 개발 관련 지식이 없기 때문에 발생한 내용일 수 있으며, 개발자의 경우 에러가 발생하지 않도록 알아서 잘 처리했을 가능성이 높음)
base.css : /static/admin/css/base.css
login.css : /static/admin/css/login.css
파일이 존재하지 않음
역시 runserver를 이용할 경우 정상 출력되지만..
apache, mod_wsgi, virtualenv 환경에서 테스트를 해보면 보여지지 않음
해당 파일은 장고패키지
($VirtualENV/vDjBook/django/contrib/admin/static/)
내에 존재하는 것으로서
임시로나마
cp $VirtualENV/vDjBook/django/contrib/admin/static/ $HOME/ch2/static
아파치 설정의 Alias 설정으로 처리는 가능하나
이 방법이 맞는 것인지 판단이 되지 않는 상황
runserver 구동시 정상출력 되었다는 것은..
프로그램 루틴 안에서 장고경로의 css 위치를 선언 하는 부분이 있고, 유효 했다는 것인데..
아파치를 통하자 반영이 안되었던 것