読者です 読者をやめる 読者になる 読者になる

pythonへのmatplotlibの導入でつまづいたところの解決策(Linux)

memo memo-Linux

cat > matplot.py
"""
# -*- coding: utf--
import matplotlib
import matplotlib.pyplot as plt

def main():
fig = plt.figure()
ax = fig.add_subplot(
# 始点(0.2)で幅が0.2, 高さが0.4の長方形を描画
rect = plt.Rectangle((0.2),0.2,0.4,fc="#770000")
ax.add_patch(rect)
plt.show()

if __name__ == '__main__':
main()
とりあえずmatploitlibを使用したコードを書いておく。
これが動けば成功。
"""
python matploit.py
"""
まぁもちろん動かない。
"""
chmod +x matploit.py
"""
実行権限を与えても
"""
python matploit.py
"""
もちろん動かない。
さて、matploitlibのパッケージを入れるか。
"""
pip install matplotlib
"""
エラー。
freetypeとlibpngを入れればいいらしい。
軽くggってみたらbrewを使用すれば導入できるらしい。
"""
brew install freetype
"""
brewが入ってないので入れる。
"""
apt-cache search freetype | grep dev
apt-get install libfreetype6-dev
apt-get install libfreetype6-dev libxft-dev
apt-get install blt-dev
pip install matploitlib
"""
apt-getでどうにか入れられないか試してみる。
"""
python matploit.py
"""
やっぱ無理っぽい。
"""
pip install numpy
"""
どうやらmatploitlibはnumpyというライブラリに依存しているらしいのでまずnumpyを入れることにする。
numpyはすんなり入った。
"""
pip install matplotlib
"""
またもやエラー。
"""
apt-get install build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev
"""
大人しく素直にbrewを入れることにする。
まずはbrewの依存パッケージを導入。
しかしここではpkg --configure -aしろとエラーが出る。
"""
dpkg --configure -a
apt-get -y install build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev
"""
言われた通りにしたらうまく入った。
"""
git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew
"""
そしてbrew本体。gitから落としてくる。
"""
vim ~/.bashrc
"""
export PATH="$HOME/.linuxbrew/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/.linuxbrew/lib:$LD_LIBRARY_PATH"

を追記。
"""
source ~/.bashrc
"""
再読み込み。
"""
brew install freetype
brew install libpng
"""
おお、brewlinuxで使えている
"""
pip install matplotlib
"""
あれ...? できねぇじゃん...ちゃんとfreetypeとlibpng入ってるのかな?
"""
apt-get -y install libfreetype6-dev
apt-get -y install libpng-dev
"""
結局brew使わなくてもできるらしいじゃねぇかならaptでやるわ
"""
pip install matplotlib
"""
おぉ、うまくいった
"""
python matplot.py
"""
いぇい
"""

 

まとめ

pip install numpy

apt-get -y install libfreetype6-dev
apt-get -y install libpng-dev

pip install matplotlib

をやるだけ。

 

Enjoy!