반응형

프로젝트 Jupyter는 오픈 소스 소프트웨어, 개방형 표준, 그리고 여러개의 프로그래밍 언어에 걸친 인터랙티브 컴퓨팅을 위한 서비스 개발을 위해서 설립된 비영리 단체입니다. 현재 Jupyter Notebook , Jupyter Hub, Jupyter Lab을 개발, 지원하고 있습니다.

 

https://jupyter.org/

 

Project Jupyter

The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dashboards and other media.

jupyter.org

 

M1 Mac에서 Jupyter를 실행하기 위해서는 몇 가지 프로그램 설치가 필요합니다.

 

먼저 Brew 를 설치합니다.

https://brew.sh/

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

 

 설치는 Terminal 에서 아래 명령어를 입력하면 됩니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

설치 이후에는, 다음의 명령어로 업데이트를 해줍니다.

brew update && brew doctor

 

그리고 python 버전을 관리해주는 pyenv를 설치합니다.

brew install pyenv

 

pyenv를 이용해서 python 3.9.x 를 설치합니다. (2021.11월 기준 3.9.7이 pyenv에서 지원하는 최신 버전이네요..) 아래 명령을 이용하면 pyenv에서 지원하는 3.9.x 중에서 가장 최신 버전을 설치 할 수 있습니다.

pyenv install --list | grep 3.9 | grep -v miniconda | tail -1 | xargs pyenv install

 

아니면 아래 명령어로 원하는 버전을 지정해서 설치하면 됩니다.

pyenv install 3.9.7

 

설치가 끝나면 다음 명령으로 환경변수에 pyenv path를 초기화 해주는 명령어를 추가해 줍니다.

echo 'eval "$(pyenv init --path)"' >> ~/.zprofile

 

pyenv 에서 사용할 python 버전을 설정합니다. (여기서는 3.9.7을 선택)

pyenv global 3.9.7

 

다음은 pip3를 이용해서 jupyter를 설치합니다.

pip3 install jupyter

 

아래 명령으로 jupyter notebook을 실행합니다.

jupyter notebook

 

기본 세팅은 8888 포트로 서비스 됩니다. 브라우저를 열고 http://localhost:8888 을 입력하면 jupyter notebook 을 사용할 수 있습니다.

 

혹시 포트를 변경하고 싶다면 아래처럼 --port 옵션으로 원하는 포트 번호를 지정합니다.

jupyter-notebook --port=5000

 

jupyter를 실행하면 브라우저가 자동으로 열리는데, 그걸 막으려면 아래와 같이 입력합니다.

jupyter notebook --no-browser

 

다음 명령으로 비밀번호를 설정할 수 있습니다.

jupyter notebook password

 

참고로 터미널이 열려 있는 것이 싫다면 아래 명령어를 이용하면 됩니다.

nohup jupyter notebook --no-browser >/dev/null 2>&1 &

 

나중에 주피터 프로세스를 종료할 때는 아래 명령어를 이용합니다.

ps | grep jupyter | grep -v grep | awk {'print $1'} | xargs kill -9

 

 

참고자료

 

pyenv 설치시 다음과 같은 에러가 나오면, brew를 리셋해 줍니다.

No available formula with the name "pyenv".

 

리셋 방법은 다음 명령어를 입력하면 됩니다.

brew update-reset

 

커널 스톱 이슈

M1 Mac에서 Jupyter 실행시 커널이 멈추는 이슈가 발생하는 경우 아래의 방법으로 조치가 가능합니다.

 

George Hotz의 유튜브 영상에서 해결하는 과정을 볼 수 있습니다.

https://www.youtube.com/watch?v=mwmke957ki4&feature=youtu.be&t=2740 

 

먼저 문제를 일으키는 eventloops.py 스크립트를 검색합니다.

find / -name eventloops.py

 

저는 아래 위치에서 해당 코드를 찾았습니다. 위치는 다를 수 있으며, 비슷하게 나오면 아래 [USER NAME] 부분만 사용자 이름으로 변경하면 될 거 같습니다.

vi /System/Volumes/Data/Users/[USER NAME]/.pyenv/versions/3.9.7/lib/python3.9/site-packages/ipykernel/eventloops.py

 

코드에서 아래 부분을 수정해 줍니다.  return 부분에 조건을 하나 추가합니다.

 

변경 전

def _use_appnope():
    """Should we use appnope for dealing with OS X app nap?

    Checks if we are on OS X 10.9 or greater.
    """
    return sys.platform == 'darwin' and V(platform.mac_ver()[0]) >= V('10.9')

 

변경 후

def _use_appnope():
    """Should we use appnope for dealing with OS X app nap?

    Checks if we are on OS X 10.9 or greater.
    """
    return sys.platform == 'darwin' and V(platform.mac_ver()[0]) >= V('10.9') and platform.mac_ver()[2] != 'arm64'

 

 

 

반응형

+ Recent posts