Time Series Forecasting (1) Anaconda 를 통해 Jupyter Notebook 환경 만들고 fbprophet 패키지 설치하는 법
간만에 본업 포스팅!
Facebook 에서 제공하는 fbprophet time-series forecasting 패키지를 사용하려는데 pip로는 몇 시간 째 설치를 할 수 없었다.
계속 아래와 같은 에러가 나는 것이야..
Running ser.py for wheel...
Running set.py for pystan...
Wheel 과 pystan을 따로따로 설치해보았지만 wheel은 설치가 되는 반면 pystan은 설치되지 않음.
구글링을 좀 해보니 fbprophet은 아나콘다 프롬프트를 이용해서 설치해야한다고;
그저께 노트북 공장초기화해서 아나콘다도 아무것도 없는 상태라 아나콘다 설치부터 해야했다. 차근 차근 다시 해보자..
링크를 클릭한 후 다운로드 클릭.
다운로드 후 실행하면 이것저것 선택하게끔 하는데 만질 것 없이 쭉쭉 default 설정 그대로 설치를 완료한다.
2. 시작(윈도우모양) 버튼을 누르고 ana..까지만 쳐도 Anaconda Prompt 가 뜰 것이다. 프롬프트 창을 열자.
3. Anaconda 에 아래 순서대로 Jupyter Notebook 과 JupyterLab을 설치한다. 그래야 Jupyter Notebook에서 Anaconda에 생성된 environment, 거기에 설치된 패키지들을 이용할 수 있다.
- Jupyter Notebook 설치
conda install -c conda-forge notebook
conda install -c conda-forge nb_conda_kernels
- Jupyter Lab 설치
conda install -c conda-forge jupyterlab
conda install -c conda-forge nb_conda_kernels
- Jupyter Extension 설치
conda install -c conda-forge jupyter_contrib_nbextensions
4. Anaconda 에 새로운 environment를 만든다.
- 먼저, Environment 확인. Base environment 밖에 없을 것이다.
conda env list
- 새로운 environment 생성 (나는 여기서 fb_prophet 이라는 environment를 만들었다.) 생성하면서 ipykernel 을 끝에 쓴 이유는 jupyter notebook 에서 열 때 이 패키지가 필요하기 때문이다.
conda create --name fb_prophet ipykernel
만약에 conda create --name fb_prophet 까지만 했다면, 다시 base 에서 아래와 같이 ipykernel을 따로 설치해줘도 괜찮다.
conda install ipykernel
- 다시 environment 확인 (conda env list). Fb_prophet 이라는 환경이 만들어진 걸 볼 수 있다.
- fb_prophet environment 로 들어가려면
conda activate fb_prophet
- 다시 base environment 로 나오려면
conda deactivate fb_prophet
5. 다시 base environment로 나와서 아래 세 줄 중 하나의 명령으로 fbprophet 패키지를 설치한다.
(Reference:https://anaconda.org/conda-forge/fbprophet)
conda install -c conda-forge fbprophet
conda install -c conda-forge/label/cf201901 fbprophet
conda install -c conda-forge/label/cf202003 fbprophet
설치가 진행되는 매우 신나는 상황!
6. 설치가 완료된 후, base environment 에서 jupyter notebook을 실행한다.
jupyter notebook
그럼 자동으로 jupyter notebook 이 열릴 것이다. 우측 상단의 New 버튼을 눌러 environment 연결이 되었는지 확인해보자. 아래와 같이 보인다면 성공!