포스트

jupyterhub nginx 서브 도메인 연결 LD_LIBRARY_PATH 못잡는 이슈

이슈

최근 ubuntu 재설치를 하면서 jupyterhub를 다시 깔고 기분 전환 겸 서브도메인 이름도 바꿔서 가비아랑 nginx에 등록을 다시 했다.

jupyterhub에 ip:port 치고 들어갈 때는 bashrc에 등록한 환경변수 LD_LIBRARY_PATH 를 인식해서 CUDA를 잘 잡았는데 subdomain.domian.com 으로 들어가는 경우에는 LD_LIBRARY_PATH 를 인식하지 못하는 상황이 발생했다.

해결

본인 jupyterhub config 파일에 직접 환경변수를 입력할 수 있다.
jupyterhub_config.py 제일 위에다가 bashrc에 있는 $LD_LIBRARY_PATH를 추가하면 된다.

1
2
3
4
5
6
7
import os
c = get_config()

os.environ['LD_LIBRARY_PATH'] = '/usr/local/cuda-11.2/extras/CUPTI/lib64:/usr/local/cuda-11.2/lib64:'
c.Spawner.env.update('LD_LIBRARY_PATH')
c.Spawner.env_keep.append('LD_LIBRARY_PATH')

이제 IP로 치고 들어가든 도메인으로 들어가든 환경변수를 잘 잡고 CUDA인식도 잘 된다.

참고

  1. https://github.com/jupyter/notebook/issues/1290
  2. https://github.com/jupyterhub/jupyterhub/issues/592
  3. https://wiki.ucar.edu/display/AIML/Add+CUDA+Library+Path+to+Jupyterhub+Notebook
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.