pythonのPyYAMLでブロック形式で書き込み(dump出力)

pythonのPyYAMLでYAMLを取り扱うとき、出力はyaml.dump()を使いますが、ブロックスタイルで出力したいのにフロートスタイルで出力されることもあります。ブロックスタイルに指定して出力するには、オプションとしてdefault_flow_style=Falseを加えます。

“pythonのPyYAMLでブロック形式で書き込み(dump出力)” の続きを読む

旧版:とにかく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なんですね。

“Python3で意図せずしてfloatに…VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future” の続きを読む

matplotlib も十分わかりやすく思えてしまう

ぼやきです。

RのスクリプトをPythonに移植しています。このRのスクリプトは、まずデータフレームを作成して、そこからデータをいじったり、グラフを描画したりといったことをしているようでした。しかし、私はこれまでデータフレームらしいデータフレームを取り扱ったことがありません。Pythonではpandasといったライブラリで実装されているようですが、入門者向きと思しき解説記事を見ても、何をしているのか、何がしたいのかはなんとなくわかるものの、その利用の仕方というのがイマイチピンときません。

まずなにかしらを実装してみないことには始まらないのだろうと思いながらも、使える時間は限られているわけです。今回はとにかくデータを解析し、結果をグラフ化できればよかったので、結局データフレームについては後回しにして、x軸とy軸用にそれぞれ配列を取り、別々に管理するという、恐らくはあまりスマートではない方法で実装をしました。まぁそれでも目的は達成できたわけです。

グラフの描画にはpythonの代表的グラフ描画ライブラリであるmatplotlibを使用しましたが、これも調べるとseabornやらggplotやら、色々なラッパーがあるらしく、そういったものを使うのがスマートなのだろうなと思いちょっと調べてみたものの、コマンドの嵐の前にやる気を失ってしまいました。使いこなせれば確かに便利なのでしょうけれど、そのためにも勉強が必要で、しかし私にはまず目の前の目的を達することが第一です。

結局、素のmatplotlibで実装をしました。matplotlibは使いづらいとかわかりづらいとか言われているようですけれど、グラフといえばGnuplotだった私にとっては十分わかりやすく、またプレゼンテーションで人目を引くような凝ったグラフを作りたいわけでもなかったので、ひとまずは十分だったわけです。

目的を達成するスクリプトはこうしてなんとか出来上がるわけですが、色々と調べていると、私が書いているスクリプトはきっとどうにも鈍臭いコードなのでしょう。人の書いたコードを勉強しようにも、なかなか手頃なコードというのも見当たらず、こういう時に技術的な先輩がいればと思います。

Python でクロスプラットフォームの排他ロックはなかなか難しく

本記事は、Pythonで排他ロックをしようとしたら、けっこう苦労したという話です。排他ロックはOSに密接な機構であるせいか、Linuxでやる分には問題ないのですが、Windowsなども絡んでくると、なかなかどうして、うーん。

“Python でクロスプラットフォームの排他ロックはなかなか難しく” の続きを読む

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」と怒られた” の続きを読む

Pythonでプロセスの優先度を設定する(クロスプラットフォーム)

準備

WindowsとUnix環境の両方で、プロセスの優先度を下げるPythonのスクリプトです。つまりWindows、Mac、Linuxのいずれでも動くように。psutilを使うので、pipでインストールしておきます。

$ python -m pip install psutil

“Pythonでプロセスの優先度を設定する(クロスプラットフォーム)” の続きを読む

とにかくWindowsにPython3、Numpy、Matplotlibをインストールする手順

2016/01/19追記:後日知人より、多少バージョン古くてもいいなら、WindowsだとWinPythonが楽だと教えてもらいました。私は試していませんがご参考までに。

本記事では、Windows 7ないし8で、とにかくPython3とNumpy、Matplotlibをインストールするための手順と、ついでにそれまでの試行錯誤について記述します。

“とにかくWindowsにPython3、Numpy、Matplotlibをインストールする手順” の続きを読む