본문 바로가기

프로그래밍/AI:ML:DL

[Python|Prophet] fbprophet 윈도우에 설치하기

Anaconda 를 이용한 설치.

매우 간단한 방법은 Anaconda 에서 conda install 을 통해 설치하는 것이다. fbprophetconda-forge 채널에 있으므로, 해당 채널을 인스톨명령에서 지정하여 설치한다.

conda install -c conda-forge fbprophet

Anaconda가 아닌 바닐라 파이썬에서 설치.

Anaconda 가 아닌 바닐라 파이썬pip 명령으로 설치하고자 할 때는, 종속된 pystan 패키지 설치 때문에 매우 고달프다. 어쨌든 가장 간단해 보이는 방법을 소개한다.

성공한 파이썬의 버전은 3.6 64비트 이고, 3.7 에서는 아래 소개하는 방법으로는 안된다.

pip install fbprophet

을 실행하면, 종속된 pystan 을 설치하려 하는데, pystan 설치가 진행되기 위해서는 우선 cython 이 설치되어 있어야 설치진행을 시작한다. 그래서 우선 cython 을 설치한다.

cython 설치

pip install cython

설치가 잘 될 것이고, pystan 만 설치를 해 본다.

pystan 설치

pip install pystan

2019년 4월 8일 현재, 이렇게 진행하면, 최신버전인 2.18.1 이 아직 윈도우용 바이너리가 없어서, 소스 ( tar.gz ) 가 내려받아지고, 이 소스로부터 컴파일을 시도하게 된다. 그런데, pystan 빌드에는 visual cpp 빌드환경이 아닌, gcc 기반 빌드환경이 필요하고, 빌드환경을 ( mingw 등을 깔아서) 설정한다고 해도, 컴파일 에러가 발생했다. 그래서 소스로부터의 설치는 포기. (어찌어찌 할 수도 있겠지만.)

어차피 pystan 은 종속 패키지 이므로, 버전을 낮추면 빌드하지 않고 깔리는 윈도우용 바이너리가 존재할 수도 있다. 그래서 2.18.0 설치를 시도한다.

pip install "pystan<2.18.1"

이렇게 하면, pystan 의 설치는 성공한다. 설치과정을 잘 보면, pystan 2.18.0 은 파이썬 3.6 64비트버전을 위한 미리빌드된 패키지가 내려받아져서 설치가 되기 때문이다. 그런데, 이렇게 잘 설치하고, pip install fbprophet 을 시도하면, 에러메시지가 발생한다. 설치과정 스크립트에서 import pystan 하여서, pystan 을 사용하려고 하는 곳에서 dll load failed 에러가 발생하는 것이다.

직접 python 프롬프트에 들어가서, import pystan 을 실행하면 동일하게 dll load failed 가 발생하는 것을 확인할 수 있다. 좀 살펴보았는데, libgcc_s_seh-1.dll, libstdc++-6.dll 등의 라이브러리 dll 을 LoadLibrary 하려다가 에러가 발생하는 것 같았다. 그래서, 무식하게 이런 dll을 근처에서 찾아서 집어넣어서 테스트도 해 보았지만, 에러가 동일하게 발생하였다. 그럼 어떻게 할까? 버전 하나 더 내려보자.

pip install "pystan<2.18"

2.18 이전 버전은 2.17.1 이고, 이것 또한 윈도우 파이썬3.6 64비트용 바이너리가 존재한다. (애석하게도 파이썬 3.7 용은 바이너리가 없다. 소스받아서 설치하려고 한다. ) 설치가 된 이후 python 프롬프트에 들어가서 import pystan 을 시도해 보면, Voila! 에러가 발생하지 않는다.

마지막으로 fbprphet 설치를 진행해 보자.

pip install fbprophet

을 실행하면, 이제 설치가 아무런 에러없이 진행되며, 설치가 완료되었다.

태그

  • 입문자 2019.04.16 04:18

    pystan때문에 골치 아파서 검색으로 들어왔습니다. 오아시스를 찾은 기분이네요.
    좋은 글 감사합니다.
    아나콘다 사용중인데 1번 항목 콘다에서 fbprophet 설치 시 아나콘다 프롬프트상에서 입력하나요 ? 아나콘다 주피터 노트북에서 파이썬 실행 후 알려주신 명령어 입력해도 반응이 없어서 방법을 찾고 있습니다. 이제 입문한지라 기초적인 것들에서 막히니 속상하고 답답하네요.

    • Favicon of https://daewonyoon.tistory.com BlogIcon daewonyoon 2019.04.16 09:24 신고

      아나콘다 사용하는 이유가 이런거죠. 아나콘다 환경에서는 pystan 아무 설정 없이 잘 깔립니다. 포스팅의 명령어(conda ...)는 주피터노트북에서 입력하는 게 아니고, 아나콘다 프롬프트 실행해서, 커맨드 명령창에 입력해서 실행하는 겁니다.