日記(日記とは言っていない)

https://zenn.dev/23prime に移行しました。

Jupyter Notebook on VSCode on Windows する

Jupyter Notebook on VSCode on Windows するメモです.

アジェンダ

  • やりたいこと
  • 環境とか
  • Python と Jupyter Notebook のインストールと設定
  • VSCode の設定
  • とりあえず動かしてみる
  • オフラインでのライブラリのインストール
  • 書き忘れたこと

やりたいこと

環境とか

Python と Jupyter Notebook のインストールと設定

コイツらは個別に入れてもいいのですが,公式で

We strongly recommend installing Python and Jupyter using the Anaconda Distribution

と言っているくらいなので,Anaconda で両方インストールします.

jupyter.org

Anaconda のインストール

www.anaconda.com

Windows を選択し,Download を押します.

f:id:prime23:20190520202234p:plain

インストーラーを起動し,インストール場所等を指定したければして,インストールします.

Anaconda Navigator の起動

スタートメニューから Anaconda Navigator を起動します.

f:id:prime23:20190520205938p:plain:w500

Environments からインストール済みパッケージ等を確認できます.

f:id:prime23:20190520224747p:plain

VSCode の設定

VSCode 自体のインストールについてはこちらの記事で.

23prime.hatenablog.com

VSCode を起動します.
Anaconda の Launch から起動できるのでやってみます.

f:id:prime23:20190520210414p:plain

Python 拡張のインストール

こちらの拡張機能をインストールします.

marketplace.visualstudio.com

今回は訳あってオフライン環境にもインストールできるようなやり方にします.

上のマーケットプレイスのページから,Download Extension を選びます.

f:id:prime23:20190520212948p:plain

すると ms-python.python-2019.4.12954.vsix というファイルがダウンロードされます.
オフライン環境で拡張機能をインストールする場合,このファイルを何らかの方法で持ち込む必要があります.

VSCode に戻り,拡張機能から VSIX からのインストール… へ進み,先ほどダウンロードしたファイルを指定します.

f:id:prime23:20190520213247p:plain

無事インストールされました.

f:id:prime23:20190520213423p:plain

Python のパス指定

使う Python のパスを指定します.

F1 でコマンドパレットを開き,Python インタープリターを選択します.

f:id:prime23:20190520214341p:plain

明らかに Anaconda 経由インストールした Python があるので,それを指定します.

f:id:prime23:20190520214236p:plain

成功すると左下にこんな風に表示されると思います.

f:id:prime23:20190520214747p:plain

とりあえず動かしてみる

こちらのブログからコードを無断で拝借します.

qiita.com

# %% を区切りとしてセルが構築されます.

f:id:prime23:20190520221125p:plain

一番上の Run Cell を押してみます.

f:id:prime23:20190520222920p:plain

Python Interactive というタブが開きます.

f:id:prime23:20190520222741p:plain

まとめて実行したい場合は Run Below します.

f:id:prime23:20190520224120p:plain

いい感じです.

Notebook の export

実行結果を Jupyter Notebook として書き出します.
ここを押します.

f:id:prime23:20190520230221p:plain

適当な名前をつけます.

f:id:prime23:20190520230322p:plain

Export に成功したら Open in browser します.

f:id:prime23:20190520230553p:plain

f:id:prime23:20190520230747p:plain

ちなみに

Notebook ファイル .ipynbVSCode で開こうとすると,Python コード .py を逆生成させることもできます.

なんかエラーが出るんだけど?

Activating Python 3.7.3 64-bit ('base': conda) to run Jupyter failed with Error: Command failed ...

みたいなエラーが出る場合がありますが,公式の issue で既出でした.

setting.json

"terminal.integrated.env.windows": {
    "PATH": ""
}

を書き加えればおkです.

オフラインでのライブラリのインストール

今回利用したい TensorFlow や Keras はデフォルトではインストールされていないため,別途インストールする必要があります.

本記事では,conda を用いてオフラインでインストールする方法を書きます.
この記事が参考になりました.

haitenaipants.hatenablog.com

必要なライブラリのダウンロード

Anaconda のトップページ からパッケージ名で検索します.

f:id:prime23:20190521204816p:plain

するとクソ大量にヒットするのですが,この中から conda-forge / tensorflow を選びます.

f:id:prime23:20190521214653p:plain

Files から win-64/tensorflow-1.13.0-py37_0.tar.bz2 を選び…

と言いたいところですが

2019年5月20日現在,残念ながら win-64/tensorflow-1.13.0-py37_0.tar.bz2,すなわち WindowsPython 3.7 に対応するものがありません.

現状,Python のバージョンを 3.6 に下げるのが手っ取り早そうですが,そのうち 3.7 にも対応すると思うので待ちます.

一応 3.6 用を試してみた

Files から win-64/tensorflow-1.13.0-py37_0.tar.bz2 を選んで,ダウンロードします.

f:id:prime23:20190521220054p:plain

conda まで PATH を通していない場合は Anaconda Prompt を起動します. - 仮に PATH を通していても Python インタープリタimport hoge するとエラーが出るので,最初から Anaconda Prompt を使うのが吉でしょう.

ダウンロード先のディレクトリに行き,次を実行します.

$ conda install tensorflow-1.10.0-py36_0.tar.bz2
WARNING: The conda.compat module is deprecated and will be removed in a future release.

Downloading and Extracting Packages
############################################################################ | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

インタープリタを起動します.

$ python
Python 3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.

インポートしてみます.

>>> import tensorflow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
...
\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 111
    def TFE_ContextOptionsSetAsync(arg1, async):
                                             ^
SyntaxError: invalid syntax

やっぱりダメでした orz

書き忘れたこと

あるかもしれません.