pythonへのmatplotlibの導入でつまづいたところの解決策(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!

仮想環境のLinuxとホストのWindowsの間で共有フォルダを作成する方法

1.Windowsでの設定
任意の場所に共有フォルダを作成する(今回は名前をShareとする)
Shareを右クリック
プロパティ
共有タブ
詳細な共有
このフォルダを共有するにチェック
アクセス許可
Everyoneにフルコントロールを与える
OK
セキュリティタブ
編集
追加
ホスト名\ユーザー名
(ホスト名の確認の方法はcmdでipconfig /all)
名前の確認
(下線が入ったことを確認)
OK

2.Linuxでの設定
apt-get install cifs-utils
mkdir -p /mnt/windows
windows側のユーザー名がuser01、パスワードがpasspass、IPアドレスが192.168.11.1、共有フォルダの名前がShareだった場合は)
mount -t cifs -o username=user01,password=passpass //192.168.11.1/Share /mnt/windows

 

参考URL:

https://www.server-world.info/query?os=Ubuntu_15.04&p=samba

 

つまづいたら、VMware側の設定のオプションの共有フォルダの部分をいじくるなり、Linux側でもう一度そのディレクトリに入りなおすなりしてみてください。

 

Enjoy!

open-vm-tools インストール方法

(vmwaretoolsインストール済みの人は以下の記事を参照にアンインストールしてから行ってください)↓

ta1se1.hatenablog.com

 

# apt-get -y install open-vm-tools

# apt-get -y install open-vm-tools-desktop

#reboot

setxkbmapをしてもたまに意図せず元に戻ってしまうときの対処法

setxkbmapでキーボードマップ(キーボード配列)を変更しても、ふとしたことで元に戻ってしまうことがある。
例えば、スリープ時。例えば、ターミナルを別ウィンドウに切り替えた時。などなど。
その対処法をここにまとめておく。

ta1se1.hatenablog.com

この記事のmyswapを

partial modifier_keys
xkb_symbols "swapkeys" {
};

にすることで、元に戻らなくなった。

 

キーボード配列 変更 キーボードマップ 設定 xkb (ubuntu)

特定のキーと特定のキーを交換させたい、
と思うことがたまにあるので、
その方法をまとめてみました。

# mkdir -p ~/.xkb/keymap ~/.xkb/symbols

# setxkbmap -print > ~/.xkb/keymap/mykbd
# vim ~/.xkb/symbols/myswap

以下をコピペ

partial modifier_keys
xkb_symbols "swapkeys" {
replace key <ESC> {[ A ] };
};

ここでの<ESC>をキーコード、Aをキーシンボルと呼ぶことにする

#vim ~/.xkb/keymap/mykbd

xkb_symbols { include "pc+us+inet(evdev)" };

xkb_symbols { include "pc+us+inet(evdev)+myswap(swapkeys)" };
に変更*us(dvorak)のようにusの後にかっこでくくってsetxbkmapの引数を書けばdvorak配列に固定される。

#vim ~/.bashrc

以下を追記

xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY 2> /dev/null

# source ~/.bashrc

これで、ESCボタンを押すことで大文字のAが出力されるようになる
これから希望のキーボードマップにするために
myswapのreplaceの行を適宜変更していく

特定のキーコード、キーシンボルを特定する方法
#xev

適宜キーを押下
keycodeに書いてある数字と、keysymの右の右のキー名(かっこの右端の文字列)を控える
この数字がキーコード数値、キー名がキーシンボルである。
Ctrl+Cで終了xev終了

# cat /usr/share/X11/xkb/keycodes/evdev | grep [キーコード数値]

そのキーコード数値と一致するキーコードを控える(<と>で囲まれているもの)

# vim ~/.xkb/symbols/myswap

replaceの行のキーコードとキーシンボルを書き換える

(例)

partial modifier_keys
xkb_symbols "swapkeys" {
replace key <LFSH> {[ Caps_Lock ] };
 replace key <CAPS> {[ Shift_L ] };
};

こう書けば左SHIFTとCapsLockが交換される。