아파치 서버로 파이썬 CGI를 돌리고 있습니다.
설치한 모듈을 이용하려고 합니다.
이 모듈이 설치된 경로는 ~/.local/lib/python3.8/site-packages입니다.
그런데 CGI로 돌려보니 모듈 임포트가 안 된다면서 오류를 뽑습니다.
검색해보니 아파치 서버가 CGI 스크립트를 실행할 때는 '다른 유저'로서 실행한다고 합니다?
기존 CGI 스크립트에다가 패스(sys.path)를 출력시켰더니 아니나 다를까 모듈 설치된 경로가 없습니다.
그래서 sys.path.append()로 해당 경로를 넣었는데도 안 됩니다.
그래서 site 모듈을 임포트하고 addsitedir()로 해당 경로를 또 넣었습니다.
경로를 넣고 나니 getsitepackages() 하면 기존의 경로들을 내뱉고
getusersitepackages()하면 제가 추가한 경로만 내뱉습니다.
다른 유저로서 실행한다고 하니 혹시 몰라 해당 경로의 권한을 수정해주었는데도 안 됐습니다.
어떻게 해결해야 할까요?
임포트하려는 모듈은 markdown인데... 마크다운 파서를 직접 만들어봐야 할까요?
그럼 파이썬을 전체 유저 사용 가능하도록 설치하면 되는 거 아님?
설치부터 그렇게 하면 라이브러리 위치가 다 고정되나?
일단 라이브러리 통째로 무식하게 때려박았음 360KB...
설치할 때 pip install -u 옵션 주고 설치한 거 맞음? 폴더랑 파일 읽기 권한없는 거 아님? 여기 아파치는 물론이고 cgi 해본 사람 찾기 힘들 듯 - dc App
아 그건가요... 등잔 밑이 어둡다더니
근데 -u 옵션이 뭐지요...
아니 처음에 설치할 때 -u 주고 설치한거 같아서 물어본거 ~/.local/ 이쪽에 설치되어있길래 - dc App
PYTHONPATH 환경변수를 설정해라 애송이
https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH