数学的にどうなのさ?

大学時代にちょっと長く数学を勉強した人の雑記。数学のこと(主に統計)や趣味、メモなどが多くなります

JupyterNoteBookを使ってみる〜Ubuntuでの事故メモ

概要

前回Windows10でやっていましたが、今回はUbuntuでやってみます。
やりたいことはUbuntu(ノートPC)とWindows(デスクトップ)のマシン間でpythonスクリプトを共有(DropBoxを使います)し、開発環境兼実行環境としてJupyterNoteBookを使ってみるという感じです。

やったこと

UbuntuならデフォルトでPythonは入っているので、これにJupyterNoteBookのパッケージをインストールします。

これで使うだけなら問題ないのですが、Extensionの機能を使いたいのであればAnacondaを利用するほうがいいようです。
WindowsでもAnacondaなしでExtensionの機能を使おうとしたのですが、結局Anacondaをインストールしてでしか使えませんでした。Ubuntuでも同様です。

でもそこはAnacondaなくてもいけんじゃね?的な軽いノリで、かつPython3にしてみようぜ?という軽い好奇心がありAnacondaではなく、普通のPython3系列をインストール。

一応Jupyterの環境でも認識はしてくれましたが、やはりExtensionの機能は使えない・・・
まあいいやということで、ついでにUbuntuPythonのデフォルト3系列に変更。

で、しばらくPythonは使っていなかったのですが、問題がちらほらでてきました。

症状

端的にいればDropBoxがエラーを起こすようになりました。
アプリのアンインストールを試みようとしても挙動が変で完全削除できないし、調査しようとコンソールからやろうとしたらエラー。

なんでじゃーと思いエラーログをよくよくみると、なんかPythonのコード中のエラーっぽいのが。

心当たりはデフォルトを2系列から3系列に変更したこと。
そんなんでエラーなんてでるか?と思いましたがものは試しで2系列に戻して再起動かけるとDropBoxが立ち上がり同期開始。無事クラウド上にあるファイルと動機がとれましたとさ。

なんでこんなことに?

・・・ちょこっと調べた+予想を交えているので違うかもしれませんが。

そもそもPython2と3の間に互換性がない。
これは割と知られていることですが、そもそもUbuntuの中で使っているものがPythonで記述されているものが有り、なおかつPython2で実行されること前提としてコードが組まれているものが有る。
そのせいでPython3で実行されてしまいデラーがかえってきているのではと思う。

まあ少なくとも今回はPython2と3の互換性の無さからくる問題だったのでしょう。

結論

JupyterNoteBookを使うならとりあえずAnaconda安定。