K4750.NET

Matplotlib on Ubuntu on Windows

Python 用グラフ描画ライブラリ「Matplotlib」を Ubuntu on Windows 環境で動かしてみた。


1.Ubuntu on Windows のインストール

まずは「Windows Subsystem for Linux」をインストール。その後、開発者モードを有効化の上、Bash+Ubuntuをインストールする。以下がとても詳しい。

Bash のインストールが終わったら、上記サイトを参考に Bash 上で初期設定およびパッケージの最新化を行う。

$ sudo sh -c 'echo 127.0.1.1 $(hostname) >> /etc/hosts'
$ sudo sed -i -e 's%http://.*.ubuntu.com%http://ftp.jaist.ac.jp/pub/Linux%g' /etc/apt/sources.list
$ sudo apt update
$ sudo apt upgrade

それにしても、、Windows上でネイティブなLinuxディストリビューションが動作するなんて・・・なんて キモチワルイ 驚きな!


2.各種 Ubuntu パッケージのインストール

Matplotlib のインストールに必要な各種パッケージをインストールする。Python3 を使いたいので、基本的には Python3 用をインストールする。

$ sudo aptitude install python3-pip
$ sudo aptitude install libfreetype6 libfreetype6-dev
$ sudo aptitude install pkg-config
$ sudo aptitude install cython
$ sudo aptitude install python3-tk

3.Python 用モジュールのインストール

Python3 用の各種モジュールは pip3 を使ってインストールする。

$ sudo pip3 install setuptools
$ sudo pip3 install ipython
$ sudo pip3 install cython
$ sudo pip3 install pandas
$ sudo pip3 install matplotlib

なんか時々ビルドに失敗しているように見えるが・・・試しに ipython を起動してみる。

$ ipython
Python 3.4.3 (default, Sep 14 2016, 12:36:27)
Type "copyright", "credits" or "license" for more information.

IPython 5.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

ipython は問題なく起動するようだね!


4.Matplotlib 動作確認

肝心な Matplotlib は・・・

import matplotlib
matplotlib.use('Agg')

import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5,4,3,2,1])
plt.savefig('graph.png')

ファイル「graph.png」が作れたようだ。

作成した graph.png を Windows から開いてみる。Ubuntu 環境の home ディレクトリは、例えば k4750 ユーザだと、以下のような場所に存在する。

C:\Users\k4750\AppData\Local\lxss\home\k4750
Matplotlib で描画したグラフその1

\(^o^)/


5.notebook は動作せず・・・

なお、、ブラウザから ipython を使うための notebook モジュールを試してみたが・・・

$ sudo pip3 install notebook

インストールはできた(?)けど、ブラウザからアクセスして対話的に python 言語を処理させようとするも、うまく動作せず^^; 同じ手順で、Ubuntu on VMWare でインストールしたら問題なく動作したので、、Windows 上では(今のところ)無理ってことなのかな。