matplotlib.use('Agg')するときの注意点

GUIがない環境で
_tkinter.TclError: no display name and no $DISPLAY environment variable
みたいなエラーに遭遇した。
ぐぐると、backendの設定をAggにすればよい的な回答があった。

(普段はmatplotlibrcに設定してあるんだけど、ちょっと別環境だったので・・・)そういえば、そうだったと思い出したところまでは、よかった。


けど、少しハマってしまった。ちゃんとつぶさに読めばよかったんだろうけど、順番なんて気にしていなかったのが敗因。

import matplotlib
import matplotlib.pyplot as plt
matplotlib.use('Agg')

はダメで、

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

で、OK. pyplotが呼ばれる(importされる?)前に、matplotlib.use('Agg')をしないといけないところが要注意。


こう書いちゃうと、E402 module level import not at top of fileで、flake8に怒られてしまう・・・。

参考

qiita.com

最近気になってること(2016年5月アップデート版)

自分のアンテナをどっちへむけてはるか確認するという意味で、わりと役にたっている気がするので、定期的に更新しています。

  • web関係
    • CentOS 7 (systemctlとかNetworkManagerとか。『CentOS7で作るネットワーク構築ガイド』)
    • サクラのVPS借りたい
    • webサーバ(nginx 『nginx実践入門』)
    • Gunicorn
    • webフレームワーク (Django/flask jsp/サーブレット)
    • HTML5 & CSS3(『HTML5/CSS3モダンコーディング』)
    • JavaScript(『JavaScript本格入門』『パーフェクトJavaScriptjQuery Ajax React.js D3.js C3.js
  • 統計
    • 岩波データサイエンス vol.1
    • 岩波データサイエンス vol.2
  • その他
    • PyConJPの過去動画を見る

vim pluginまわり作業内容。

Vimのpluginまわりの整理整頓をしたいと思います。

というか、VPSには、なにもしてないVimしかないので、
いちから環境を作ります。

入っていたVimのVersionは、7.4.629でした。
わらわらと(以前使っていたものとか、新たに使ってみたいなーと思っていた)pluginを入れたいと思います。

続きを読む

最近気になってること(2016年3月アップデート版)

(3月10日追加修正)
(3月21日追加修正)

  • web関係
    • CentOS 7 (systemctlとかNetworkManagerとか。『CentOS7で作るネットワーク構築ガイド』)
    • サクラのVPS借りたい
    • webサーバ(nginx 『nginx実践入門』)
    • Gunicorn
    • webフレームワーク (Django/flask)
    • HTML5 & CSS3(『HTML5/CSS3モダンコーディング』)
    • JavaScript(『JavaScript本格入門』『パーフェクトJavaScriptjQuery Ajax React.js D3.js)
  • 急がないけどやっておきたい
    • OpenCV
    • SQL
    • 関数型言語なにかひとつ(「プログラミングの基礎 (Computer Science Library)」とか?)
  • 統計
    • 岩波データサイエンス vol.1
    • 岩波データサイエンス vol.2

VPS作業記録9

前々回の課題であったGunicornやらuWSGIってなんぞやというところは、未だによくわかってないのですが、
このスライドを読んだところ、
speakerdeck.com
「Gunicornはシンプル、uWSGIは多機能」とのこと。

僕は、おそらく複雑な設定は必要ないので、シンプルなGunicornを使用する方向に、とりあえずは決めました。

http://gunicorn.org/:embed:ctite
もとはRubyな動物だった。

続きを読む

VPS作業記録8

今回は、nginxの設定します!

設定の目標は、
・静的なファイルをちゃっちゃと返す
・/jupyterにアクセスしたら、jupyterにアクセスできる
・/djangoにアクセスしたら、gunicornで動いているdjangoにアクセスできる(保留)
・/jupyterと/djangoのところに、Basic認証をつけたい
あたりかなと思います。

お供には、nginx実践入門です。
amzn.to

続きを読む

VPS作業記録7

今日(1/24)はnginxの設定をやります。

英語のチュートリアルを読んで挫折して以来の再挑戦です。

基本的な設定ファイルの書き方を知って、
最低限、静的なファイルを返せるサーバーにすることです。

先日発売されたばかりの「nginx実践入門」を片手に作業します。
amzn.to

続きを読む