pythonのPyYAMLでYAMLを取り扱うとき、出力はyaml.dump()を使いますが、ブロックスタイルで出力したいのにフロートスタイルで出力されることもあります。ブロックスタイルに指定して出力するには、オプションとしてdefault_flow_style=Falseを加えます。
旧版:とにかくRaspberry Piにpython3 + numpy + matplotlibをインストールする(pyenv使用)
表題どおり、Raspberry Piにpython3、numpy、matplotlibをインストールすることを目的とした記事です。OSはRaspbian(GUIなし)。バージョン管理するわけではないのですが、既存のpython2との兼ね合いもあり、pyenvを使います。
Raspbian Stretchだとエラー出たので改訂→「とにかくRaspberry Piにpython3 + numpy + matplotlibをインストールする(pyenv使用) – 或る阿呆の記」
“旧版:とにかくRaspberry Piにpython3 + numpy + matplotlibをインストールする(pyenv使用)” の続きを読む
Python3で意図せずしてfloatに…VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
Pythonで、以前から「VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future」という警告が出て、なんだろうなと思っていたのですが、どうやら意図せずして要素数がfloatに、つまりary[3]となるべきところがary[3.0]のような状況になっていました。python3では6/2=3.0なんですね。
matplotlib も十分わかりやすく思えてしまう
ぼやきです。
RのスクリプトをPythonに移植しています。このRのスクリプトは、まずデータフレームを作成して、そこからデータをいじったり、グラフを描画したりといったことをしているようでした。しかし、私はこれまでデータフレームらしいデータフレームを取り扱ったことがありません。Pythonではpandasといったライブラリで実装されているようですが、入門者向きと思しき解説記事を見ても、何をしているのか、何がしたいのかはなんとなくわかるものの、その利用の仕方というのがイマイチピンときません。
まずなにかしらを実装してみないことには始まらないのだろうと思いながらも、使える時間は限られているわけです。今回はとにかくデータを解析し、結果をグラフ化できればよかったので、結局データフレームについては後回しにして、x軸とy軸用にそれぞれ配列を取り、別々に管理するという、恐らくはあまりスマートではない方法で実装をしました。まぁそれでも目的は達成できたわけです。
グラフの描画にはpythonの代表的グラフ描画ライブラリであるmatplotlibを使用しましたが、これも調べるとseabornやらggplotやら、色々なラッパーがあるらしく、そういったものを使うのがスマートなのだろうなと思いちょっと調べてみたものの、コマンドの嵐の前にやる気を失ってしまいました。使いこなせれば確かに便利なのでしょうけれど、そのためにも勉強が必要で、しかし私にはまず目の前の目的を達することが第一です。
結局、素のmatplotlibで実装をしました。matplotlibは使いづらいとかわかりづらいとか言われているようですけれど、グラフといえばGnuplotだった私にとっては十分わかりやすく、またプレゼンテーションで人目を引くような凝ったグラフを作りたいわけでもなかったので、ひとまずは十分だったわけです。
目的を達成するスクリプトはこうしてなんとか出来上がるわけですが、色々と調べていると、私が書いているスクリプトはきっとどうにも鈍臭いコードなのでしょう。人の書いたコードを勉強しようにも、なかなか手頃なコードというのも見当たらず、こういう時に技術的な先輩がいればと思います。
Python でクロスプラットフォームの排他ロックはなかなか難しく
本記事は、Pythonで排他ロックをしようとしたら、けっこう苦労したという話です。排他ロックはOSに密接な機構であるせいか、Linuxでやる分には問題ないのですが、Windowsなども絡んでくると、なかなかどうして、うーん。
Raspbian で python-dev がインストールできなかった
恐らく一時的な症状なのですが。Raspbian 上で apt-get により python-dev をインストールしようとしたら、できなかったという話。以前インストールしたときは、すんなりといったのですが。
Numpyを入れようとして「python version 3.4 required which was not found in the registry」と怒られた
状況
以下の環境で、Numpy 1.9.2 をインストーラからインストールしようとした時、「python version 3.4 required which was not found in the registry」というダイアログが出て先に進めない場合の対処。
- OS: Windows 7 64bit
- Python: 3.4.3
- Numpy: 1.9.2
Python 3.4.3は公式サイトからmsi形式のインストーラを用いてインストールしたものです。
“Numpyを入れようとして「python version 3.4 required which was not found in the registry」と怒られた” の続きを読む
Raspberry Pi のGPIO経由で入力信号を連続的に取得
矩形波をRaspberry Pi(以下RPi)のGPIOピンに入力して、それを読み出す手順をメモします。RPi 2を使用しました。シェルスクリプトによる方法と、RPiに標準で入っているRPi.GPIOを使った方法です。
Pythonでプロセスの優先度を設定する(クロスプラットフォーム)
準備
WindowsとUnix環境の両方で、プロセスの優先度を下げるPythonのスクリプトです。つまりWindows、Mac、Linuxのいずれでも動くように。psutilを使うので、pipでインストールしておきます。
$ python -m pip install psutil
とにかくWindowsにPython3、Numpy、Matplotlibをインストールする手順
2016/01/19追記:後日知人より、多少バージョン古くてもいいなら、WindowsだとWinPythonが楽だと教えてもらいました。私は試していませんがご参考までに。
本記事では、Windows 7ないし8で、とにかくPython3とNumpy、Matplotlibをインストールするための手順と、ついでにそれまでの試行錯誤について記述します。