LoginSignup
0
0

Windowsで仮想環境とVScodeを使ってjupyter notebookでprophetを使う方法

Posted at

はじめに

Metaが開発した時系列データの統計予測モデルであるProphetですが、Windowsに関してはインストールに難があるという報告があります。

Prophetのインストール方法(Windows) - インドネギヤ王国情報技術開発局

が、今回情報を集めてWindowsでもインストールできる方法を発見したので挑戦してみます。具体的には、

  • Windowsで
  • anacondaの仮想環境を使って
  • VSCode上のjupyter notebookを使って
  • prophetをimportできる

方法を述べています。

環境

  • Windows 10 Pro 64 bit
  • anaconda 22.9.0

手順

anacondaで仮想環境を構築

Anacondaで仮想環境を構築する方法 | sakizo blogを参考にconda環境を構築します。

myenvという名前のConda環境を構築します。このとき、PyEphem、Plotly、Cython、PyStanなどProphetが依存しているパッケージなども一緒にインストールします。これはProphetインストール手順を参考にしました。

conda create -n myenv python==3.8 ephem plotly cython pyStan==2.19.1.1 holidays==0.24 prophet==1.1.2 pandas numpy matplotlib jupyterlab

pythonはバージョン3.8必須です。元記事ですと、holidaysがなかったのですが、これがないとTypeError: This is a python-holidays entity loader class.エラーが発生します。また、holidaysprophetのバージョンを固定にしておくのもポイントです。

参考:Cannot import prophet · Issue #2432 · facebook/prophet

ここで、base環境(最初の状態で既にある環境)と、作成した環境を確認します。

conda info -e

以下の様に出力されます。今使っている環境には*が付きます。

# conda environments:
#
base                  *  E:\****\anaconda3
myenv                    E:\****\anaconda3\envs\myenv

このとき、私はpowershellで実行していて*がつかなかったのですが、conda init powershellを実行してpowershellを再起動したところ正常に*が出ました。

次のコマンドで作成したconda環境に移動します。

conda activate myenv

もう一度conda info -eを実行すると、作成したmyenvに*が移っていることがわかります。

# conda environments:
#
base                     E:\usr\anaconda3
myenv                 *  E:\usr\anaconda3\envs\myenv

VSCodeでjupyter notebookを起動する

myenv環境に移動したディレクトリでVSCodeを開き、jupyter notebookのファイル(*.ipynb)を作成します。そのファイルを開き、右上にある"base(python 3.9.13)"をクリックします。すると、画面上部中央に小窓が表示されますので、"Select another kernel..."をクリックします。順次、"Python environments...", "myenv Python(3.8.0)"とクリックします。すると、作成した仮想環境が設定されます。ここでjupyter notebookを作成して、import prophetすると、正常にインポートできます。

おわりに

Windowsでprophetを使う方法について述べました。強力な時系列データの解析アルゴリズムなので是非使ってみましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0