간단하게 계산을 한다든가 파이썬 스크립트를 돌릴 때 Jupyter notebook을 띄워서 iPython 환경에서 작업을 할 때가 많습니다. 작업한 내역을 그대로 문서처럼 저장해 뒀다가 나중에 그대로 열어서 보기가 좋기 때문에 노트 겸용으로 쓰기 편하니까요. 


회사에서는 OS 기본 브라우저는 인터넷 익스플로러로 설정해놓고 쓰는데, 이러면 Jupyter notebook을 실행시키면 일단 IE에서 창이 뜨게 됩니다. 안타깝게도 (제가 뭔가 설정을 잘못해서 그런 걸지도 모르지만) IE에서는 Alt-Enter (셀을 실행한 다음 다음 셀에서 삽입 모드로 전환) 기능에 뭔가 문제가 있어서 매번 셀을 실행한 다음에 다음 셀로 내려가서는 한 번 더 엔터 키를 눌러야 삽입 모드로 들어가서 좀 불편합니다. 그래서 크롬에서 새 창이나 탭을 열고 주소를 입력해서 주피터를 시작하는데, 이게 또 하다 보면 귀찮습니다.


그래서 Jupyter notebook 기본 브라우저를 변경하는 방법을 찾아보니 https://stackoverflow.com/questions/35229604/how-to-change-the-default-browser-used-by-the-ipython-jupyter-notebook-in-linux 같은 글이 있더군요. 그래서 그대로 해 봤는데, 파일 경로를 영 못 알아먹는 것 같습니다. 예를 들어 컴퓨터에서 크롬 브라우저 실행파일이 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe 라고 할 때, c.NotebookApp.browser = u'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe' 같은 식으로 설정파일에 지정을 해 줬더니 "No such file or directory: C:/Users/MY_USER_NAME/Files"라는 에러 메시지가 뜹니다. "MY_USER_NAME" 부분은 윈도우 시스템의 사용자 이름이고요. 절대경로 상대경로가 꼬이면서 나타나는 문제가 아닐까 하는 생각은 드는데, 어떻게 해결해야 할지 잘 모르겠더군요.


근데 의외로 간단한 해결책이 있었습니다. 바로 BROWSER라는 윈도우 시스템 변수를 이용하는 거였습니다. 시스템 변수 설정하는 데 가서 BROWSER라는 시스템 변수를 새로 만들고, 그 값으로 iPython에서 사용하길 원하는 기본 브라우저의 주소를 "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" 같은 식으로 적어주는 거죠. 이렇게 하고 나니 jupyter_notebook_config.py 설정파일에서 따로 브라우저를 지정해주지 않아도 알아서 주피터 노트북이 크롬에서 바로 뜹니다. 물론 webbrowser 모듈의 get 함수 같은 걸로 브라우저에서 뭔가를 띄웠을 때도 마찬가지로 BROWSER 변수에서 지정한 브라우저가 열립니다.


오늘의 삽질기 끝.



+ Recent posts