前の関連記事:linuxBean14.04(71)IPython3.2.1のNotebookを使う
linuxBean14.04(70)Jupyter NotebookをPyCharm4.5で使うでJupyterをインストールしてからmatplotlibでグラフを描いてみたりいろいろしてみるとあれやこれやと追加のパッケージのインストールを求められます。面倒なので科学技術系Pythonパッケージを一括インストールできるAnacondaをインストールします。
Anaconda3 2.3.0 (32-bit)のインストール
Python3.4を含んだAnaconda3をインストールします。
JupyterもAnacondaでインストールできるのでlinuxBean14.04(69)MySQL5.6にPython3.3から接続するが終わった状態からインストールします。
新たにPython3.4.3がインストールされてpython3やpip3コマンドが~/anaconda3/bin/pythonに変更になりますので、すでにPython3がインストールされている環境にインストールするときは注意が必要です。
Python数値計算環境Anacondaの導入の解説がわかりやすいです。
Anacondaのインストールには3GB程の空き容量が必要だそうです。
Download Anaconda Python Distributionでタックス→I WANT PYTHON 3.4、とクリックして左下にあるLinux 32-bit Python3.4をクリックします。
インストールやアップデート方法の解説はAnaconda Install — Continuum documentationにあります。
~/anaconda3という名前の単一フォルダにインストールされるのでアンイストールはこのフォルダを削除するだけです。
Python3.4もシステムPythonとは別に~/anaconda3/bin/pythonがインストールされます。
ダウンロードしたAnaconda3-2.3.0-Linux-x86.shファイルがあるフォルダをファイルマネージャで開きます。
Chromeを立ち上げながらやると途中にエラーを出しながらインストールが進んでしまうのでChromeは終了しておきます。
ツール→現在のフォルダを端末で開く。
bash Anaconda3-2.3.0-Linux-x86.sh
ホームフォルダにインストールされるので一般ユーザ権限でインストールできます。
Welcome to Anaconda3 2.3.0 (by Continuum Analytics, Inc.) In order to continue the installation process, please review the license agreement. Please, press ENTER to continue >>>Enterキーでインストールを開始します。
LICENSE AGREEMENTはEnterキーを押し続けていると知らない間にNoを選択しまうのでスペースキーで読みます。
Do you approve the license terms? [yes|no] [no] >>> yesyesと入力します。
[/home/pq/anaconda3] >>>この表示がでてからEnterを1回押して待ちます。
PREFIX=/home/pq/anaconda3この表示がでてからしばらくかかります。
いらいらしてEnterキーを追加で打たないように気をつけましょう。
installing: python-3.4.3-1 ... installing: conda-3.14.1-py34_0 ...待っているとインストールが始まります。
全部で136個のinstalling:が続きます。
Do you wish the installer to prepend the Anaconda3 install location to PATH in your /home/pq/.bashrc ? [yes|no] [no] >>> You may wish to edit your .bashrc or prepend the Anaconda3 install location: $ export PATH=/home/pq/anaconda3/bin:$PATH Thank you for installing Anaconda3!最後にAnaconda3のインストールフォルダを /home/pq/.bashrcに追記するのかという質問がでます。
yesと回答したかったのですが、PREFIX=/home/pq/anaconda3がでてからEnterキーを連打してしまったので勝手にnoとされてしまいました。
~/.bashrcをLeafpadを開いて以下を追記して保存します。
export PATH=/home/pq/anaconda3/bin:$PATH
ホームフォルダのパスは適宜書き換えてください。
source ~/.bashrc
これで書き換えた~/.bashrcを反映させます。
pq@pq-VirtualBox:~/ダウンロード$ python3.4 -V Python 3.4.3 :: Anaconda 2.3.0 (32-bit)python3.4に対してAnakonda3がインストールされたことがわかります、、、
もともとpython3.4というコマンドでは/usr/bin/python3.4が起動するようになっていたのですが~/anaconda3/bin/python書き換えられてしまいました。
(2016.5.22追記。linuxBean14.04(115)pythonコマンドをpipコマンドとともに切り替えるで対処しました。)
pq@pq-VirtualBox:~$ pip -V pip 7.0.3 from /home/pq/anaconda3/lib/python3.4/site-packages (python 3.4)pipもAnaconda3のものが起動するようになっています。
python3.4コマンドもpipコマンドも最後にインストールしたものが設定されるのでシステムPythonを再インストールすればよいのでしょうけど、わざわざ再インストールしなくても変更できる方法を考えてみましたがわかりませんでした。
(2016.5.19追記。これは環境変数PATHの設定変更だけの問題です。curlなどもAnaconda付属のものへのパスが優先されるのでHTTPS接続には設定追加が必要です。linuxBean14.04(107)nvmでnode.jsのインストールができない問題への対応参照。)
#!/usr/bin/python3.4 # -*- coding: utf-8 -*- import re import sys from pip import main if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) sys.exit(main())/usr/local/bin/pipのshebangでどのpipを起動するのかが決まると思っていましたがそうではないようです。
この7行目でインポートしている「main」が何なのか知りたかったのですがよくわかりませんでした。
AnacondaのPythonパッケージをアップグレードする
Python4.5のSettingsで~/anaconda3/bin/pythonのパッケージ一覧をみてみると最新版がでているものがたくさんあります。
ipythonも3.2.0のままです。
Python Packages and Environments with conda
このページを読むとAnacondaのパッケージマネージャのCondaがpipに対して優れていることが書いてあります。
pipでのインストールではPythonパッケージのインストールはできますが、Pythonでないライブラリのインストールはできません。
例えばmatplotlibのmatplotlib.animation.AnimationクラスをPython3で使おうとするとcairocffiパッケージのインストールが必要で、cairocffiパッケージのインストールにはSynapticパッケージマネージャでlibffi-devをインストールが必要になってきます。
どのUbuntuパッケージをSynapticパッケージマネージャでインストールしないといけないかはpipは教えてくれないのでpipの吐くエラーをみて自分で調べないといけません。
これはかなり面倒ですが、condaではこれらを解決しnon-Pythonライブラリもインストールできるようになっているそうです。
ということでAnacondのパッケージをcondaを使ってアップグレードします。
まずはconda自身のアップデートをしてみます。Update conda to the current version
conda update conda
pq@pq-VirtualBox:~$ conda update conda Fetching package metadata: .... Solving package specifications: . Package plan for installation in environment /home/pq/anaconda3: The following packages will be downloaded: package | build ---------------------------|----------------- conda-env-2.4.2 | py34_0 24 KB setuptools-18.3.2 | py34_0 346 KB wheel-0.26.0 | py34_1 77 KB conda-3.17.0 | py34_0 177 KB pip-7.1.2 | py34_0 1.5 MB ------------------------------------------------------------ Total: 2.1 MB The following NEW packages will be INSTALLED: wheel: 0.26.0-py34_1 The following packages will be UPDATED: conda: 3.14.1-py34_0 --> 3.17.0-py34_0 conda-env: 2.2.3-py34_0 --> 2.4.2-py34_0 pip: 7.0.3-py34_0 --> 7.1.2-py34_0 setuptools: 17.1.1-py34_0 --> 18.3.2-py34_0 Proceed ([y]/n)?Anaconda3 2.3.0をインストールしたばかりですがすでにcondaが3.1.14から3.17.0にアップデートされています。
pipやsetuptoolsなどのインストールパッケージもアップデートしてくれます。
Enterキーを押すとアップデートしてくれます。
今度はAnacondaをアップデートしてみます。
conda update anaconda
pq@pq-VirtualBox:~$ conda update anaconda Fetching package metadata: .... # All requested packages already installed. # packages in environment at /home/pq/anaconda3: # anaconda 2.3.0 np19py34_0これはさすがにアップデートはでていないです。
condaを使っての各Pythonパッケージのインストールやアップデート、アンイストール方法はManaging packages — Conda documentationに解説があります。
conda updateをみると--allですべてのパッケージのアップデートができるようなのでもうすべてアップデートしてしまいます。
conda update --all
(2017.9.6追記。これをすると依存関係が確認されているパッケージの集合というAnacondaのメリットの一つが失われるようです。linuxBean14.04(175)Anacondaの運用方法を考える参照。)
アップデートされるパッケージがたくさんでてきました。
ipythonも3.2.0から4.0.0にアップデートされ、さらにjupyterが新規インストールされるリストにでてきました。
Enterキーを打つとインストールが始まります。
これは便利ですねえ。condaだけですべてインストールしてくれます。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !! The 'binstar' conda package has been renamed to 'anaconda-client'. !! Please run: !! !! conda install anaconda-client !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!最後にこんなメッセージがでてきました。
conda install anaconda-client
いわれた通りにanaconda-clientをインストールしておきました。
PyCharm4.5でみてみるとアップグレード可能なパッケージ数が激減しています。
PyCharm4.5からアップグレード可能なパッケージ、つまりpipでアップデード可能なパッケージがまだいくつか残っていますが整合性がくずれては嫌なのでcondaでアップデートできるまで待つことにします。
多量のPythonパッケージがアップデートされたのでPyCharm4.5のUpdateing skeletonsにすごく時間がかかりますので気長に待ちます。
Jupyter Notebookのランチャを作る
Terminalからjupyter notebookとするとJupyter Notebookが起動しました。
ところがlinuxBean14.04(70)Jupyter NotebookをPyCharm4.5で使うの「Jupyter Notebookを起動するランチャーを作る」と同様にしてJupyter Notebookのランチャーを作ったところ「不正なデスクトップエントリ名」とエラーがでてきます。
ランチャのコマンド欄に入力したjupyterコマンドが認識できないようです。
/home/pq/anaconda3/bin/jupyter notebook --notebook-dir=/home/pq/PycharmProjectsフルパスでいれてもダメです。
'notebook' is not a Jupyter command · Issue #448 · jupyter/notebookを読んでjupyterとnotebookの間にハイフンを入れたら起動できました。
/home/pq/anaconda3/bin/jupyter-notebook --notebook-dir=/home/pq/PycharmProjects起動フォルダはPyCharm4.5のプロジェクトフォルダにしました。
Python3.3で動くAnaconda3をインストールできたが--allではアップデートできず
Managing Python — Conda documentation
condaでPython3.3とそのパッケージをインストールします。
conda create -n py33 python=3.3 anaconda
これでAnaconda3のPython3.3バージョンが~/anaconda3/envs/py33にインストールされました。
Managing environments — Conda documentation
conda env list
これで現在インストールされているAnaconda3の実行環境の一覧が出力されます。
pq@pq-VirtualBox:~$ conda env list # conda environments: # py33 /home/pq/anaconda3/envs/py33 root * /home/pq/anaconda3アスタリスク*が付いているのが現在アクティブな環境です。
source activate py33
これでアクティブな環境を切り替えられます。
(2016.5.19追記。「. activate py33」でも切り替えられます。linuxBean14.04(114)「./myscript」「myscript」「source myscript」「. myscript」の違い参照。)
pq@pq-VirtualBox:~$ source activate py33 discarding /home/pq/anaconda3/bin from PATH prepending /home/pq/anaconda3/envs/py33/bin to PATH (py33)pq@pq-VirtualBox:~$ pip -V pip 7.1.0 from /usr/local/lib/python3.3/dist-packages (python 3.3) (py33)pq@pq-VirtualBox:~$ python3 -V Python 3.3.5 :: Anaconda 2.3.0 (32-bit)python3コマンドはAnacondaの3.3.5のものになりましたが、pipは元の/user/bin/python3.3のもののままです。
プロンプトの先頭に環境の名前が表示されるようになります。
conda update conda
これは/home/pq/anaconda3/envs/py33にcondaはインストールされていないとエラーがでます。
(py33)pq@pq-VirtualBox:~$ conda update conda Error: package 'conda' is not installed in /home/pq/anaconda3/envs/py33conda info and lock-file for non-root users · Issue #170 · conda/condaにエラーの意味が書いてありそうですが議論が難しくてよく理解できませんでした。
conda update anaconda
Anacondaはpy33からもアップデートできるようです。
(py33)pq@pq-VirtualBox:~$ conda update anaconda Fetching package metadata: .... # All requested packages already installed. # packages in environment at /home/pq/anaconda3/envs/py33: # anaconda 2.3.0 np19py33_0conda update --all
これは実行しかかりましたが、Solving package specificationsとでたまま2時間ほど経過したのでやめました。
linuxBean14.04(38)LibreOfficeバンドルPythonにパッケージを追加で設定したsites.pthが原因かと思ってsites.pthを消しましたが解決しませんでした。
Anacondaでは依存関係のため必ずしも最新パッケージにアップデートするわけではなく、Anacondaで指定したバージョンよりもすでに新しいバージョンが入っているときはエラーになるようですが、エラーメッセージも表示されないので原因不明です。
次にやるように個別のパッケージ名を指定してのアップデートはできました。
ノートパソコンにインストールしたらJupyter Notebookが使えなかった
(2015.10.30追記。原因が判明しました。linuxBean14.04(84)conda upgrade --allで問題発生へ。)
VirtualBoxにインストールしたlinuxBean14.04では問題なくJupyter Notebookが使えたのですが、ノートパソコンにインストールしたlinuxBean14.04にインストールしたJupyter Notebookが使えませんでした。
python - IPython kernel dies on startup - Stack Overflow
これと同じようにセルをRunするとkernelが死んでいるので再起動といわれるのですが一向にRunされません。
Terminalからみるとkernel自体はちゃんと立ち上がっています。
いまところ解決していません。
Pentium4のマシンでなにごとも時間がかかるのであまりいろいろやる気がないので、、、
ipython crash on startup: "It seems the kernel died unexpectedly." - Google グループ
zeromq 4.0.6が原因? アップグレードかダウングレードしたら解決したと書いてますね。
Unable to start IPython kernel with 4.0 · Issue #297 · jupyter/notebook · GitHub
こちらはlibzmq 4.0.5を4.1.2にしたのが原因だったようです。
いずれにせよzeromqの問題だろうか。
pyzmqがzeromqのPythonバインディングになります。
またそのうちやってみよう、、、
ちゃんと動いているVirtualBoxのlinuxBean14.04のSynapticパッケージマネージャでzeromqを検索して引っかかるパッケージは一つもインストールしてありませんでした。
Ipyhton notebook kernel dies when you want to plot something - Google グループ
環境を作り直してみることも提案されていますね。
2015.9.29追記。
conda create --name py34 --clone root
これでrootをコピーした環境を作ってもJupyter Notebookは同様に動きませんでした。
ちなみにこのpy34でconda update --allはpy33のときと同様に途中で動かなくなりましたが、これはUpdating All Packages in a Specific Virtual Environment - Google グループで解決するかもしれません。
source activate py33 のあとconda update ipython ではpy33のipythonがアップデートされました。
ipython notebookは使えました。
py33でconda install jupyter とするとjupyterはpython3.3と衝突してインストールできない、といわれました。
conda update ipython ではipythonが3.2.0から3.2.1にアップデートされました。
py33のipython notebookはjupyter notebookが動かなかったノートパソコンでも使えました。
ランチャを作成するためにフルパスでの起動はJupyterと違ってハイフンを入れると逆にエラーが出ましたのでハイフンなしで起動しました。
/home/pq/anaconda3/envs/py33/bin/ipython-notebook --notebook-dir=/home/pq/PycharmProjects
(pqはlinuxBean14.04のログインアカウント名です。)
参考にしたサイト
Python数値計算環境Anacondaの導入
少し前のバージョンのものですがインストール方法の解説がわかりやすいです。
Download Anaconda Python Distribution
Anacondaのダウンロードサイト。condaとPythonだけでよいならMinicondaをインストールします。
タックス - Wikipedia
Linuxの公式マスコット。
Anaconda Install — Continuum documentation
Anacondaのインストール方法。
Python Packages and Environments with conda
condaを使うとpipと違ってPythonパッケージ以外のものも同時にインストールできます。
Conda — Conda documentation
condaのマニュアル。
animation — Matplotlib 1.4.3 documentation
pipでインストールしたmatplotlibでこのクラスを使うにはlibffi-devのインストールが必要でした。
'notebook' is not a Jupyter command · Issue #448 · jupyter/notebook · GitHub
condaでインストールしたJupyter Notebookをランチャで起動するにはjupyter-notebookとする必要がありました。
conda info and lock-file for non-root users · Issue #170 · conda/conda
conda update condaのエラー表示に関する議論。
0 件のコメント:
コメントを投稿