概要
前回Windows10でやっていましたが、今回はUbuntuでやってみます。
やりたいことはUbuntu(ノートPC)とWindows(デスクトップ)のマシン間でpythonスクリプトを共有(DropBoxを使います)し、開発環境兼実行環境としてJupyterNoteBookを使ってみるという感じです。
やったこと
UbuntuならデフォルトでPythonは入っているので、これにJupyterNoteBookのパッケージをインストールします。
これで使うだけなら問題ないのですが、Extensionの機能を使いたいのであればAnacondaを利用するほうがいいようです。
WindowsでもAnacondaなしでExtensionの機能を使おうとしたのですが、結局Anacondaをインストールしてでしか使えませんでした。Ubuntuでも同様です。
でもそこはAnacondaなくてもいけんじゃね?的な軽いノリで、かつPython3にしてみようぜ?という軽い好奇心がありAnacondaではなく、普通のPython3系列をインストール。
一応Jupyterの環境でも認識はしてくれましたが、やはりExtensionの機能は使えない・・・
まあいいやということで、ついでにUbuntuのPythonのデフォルト3系列に変更。
で、しばらくPythonは使っていなかったのですが、問題がちらほらでてきました。
症状
端的にいればDropBoxがエラーを起こすようになりました。
アプリのアンインストールを試みようとしても挙動が変で完全削除できないし、調査しようとコンソールからやろうとしたらエラー。
なんでじゃーと思いエラーログをよくよくみると、なんかPythonのコード中のエラーっぽいのが。
心当たりはデフォルトを2系列から3系列に変更したこと。
そんなんでエラーなんてでるか?と思いましたがものは試しで2系列に戻して再起動かけるとDropBoxが立ち上がり同期開始。無事クラウド上にあるファイルと動機がとれましたとさ。
なんでこんなことに?
・・・ちょこっと調べた+予想を交えているので違うかもしれませんが。
そもそもPython2と3の間に互換性がない。
これは割と知られていることですが、そもそもUbuntuの中で使っているものがPythonで記述されているものが有り、なおかつPython2で実行されること前提としてコードが組まれているものが有る。
そのせいでPython3で実行されてしまいデラーがかえってきているのではと思う。
まあ少なくとも今回はPython2と3の互換性の無さからくる問題だったのでしょう。
結論
JupyterNoteBookを使うならとりあえずAnaconda安定。