タグ別アーカイブ: Python

RaspberryPI と MAX31865 と Python3 で温度を取得する

はじめに

 Raspberry Pi 3 Model B に MAX31865 RTD to Digital コンバーター(周辺部品を実装済みの基板を使用しました)を SPI 接続して温度を取得する Python プログラムを作ってみました。
 ハードウェアの準備や Python3 環境の整備については省略します。

続きを読む

AmazonLinuxでデフォルトで使えるpython36-virtualenvパッケージを使ったPython3.6 venv環境の構築

はじめに

 この投稿では、表題のとおり、AmazonLinuxでデフォルトで使えるpython36-virtualenvパッケージを使ったPython3.6 venv環境を構築します。
 こちらの投稿では、Pythonの任意のバージョンのソースコードからビルドしてインストールする方法を紹介しました。しかし、ライブラリのインストールなどビルド環境の構築が必要であり、比較的煩雑な手順となります。
 今回、AmazonLinuxで用意されているパッケージを利用することで、Python3.6のvenvが使えるようになるまでの手数を減らしたいと思います。

続きを読む

Python3.6ビルドとvenv環境構築

はじめに

 Python3.6のビルドとインストール、venv環境の構築手順を紹介します。デフォルトでインストールされている Pythonに影響を与えないよう、任意の場所(/opt/python36 や ~/opt/python36など)にPython3.6をインストールします。このPython3.6を使って、venv環境を構築できるようにします。

続きを読む

MeCab と mecab-ipadic-NEologd と Python3 で形態素解析(ユーザーローカル環境版)

はじめに

 MeCabをユーザーのローカル環境にインストールする必要があり、手順をまとめてみました。gccやmakeは必要になりますので、最低限のコマンドだけはroot権限でインストールしておく必要があります。もしroot権限(sudoコマンドを実行できる権限)があればホストのグローバル環境にインストールできます。グローバル環境にインストールする場合はこちらの投稿を参照してください。

続きを読む

指定したバイト数分だけ文字列を切り出す (Python3)

はじめに

 データ連携などでエクスポート機能などを実装するとき、特定のバイト数まで切り詰める処理が必要になる事があります。データがASCII文字だけで構成されていれば簡単なのですが、日本語などのマルチバイト文字が含まれていると文字数とバイト数に差が生じます。マルチバイト文字を分断することなく指定されたバイト数に切り出す処理を Python3 で実装してみました。

続きを読む

Pythonパッケージをpipコマンドで一括インストールする

はじめに

 新規に作成する Python アプリケーション、あるいはすでに稼働している Python アプリケーションの依存パッケージを確認して、別の環境にコピーしたい事があります。今回、必要なパッケージを洗い出して requirements.txt (ファイル名は任意に変更可能) に書き出し、コピー先の環境で一括インストールする手順を紹介します。前提として、pip コマンドが使えることを確認しておいてください。

大まかな流れ

  1. 依存しているパッケージとバージョンを洗い出す
  2. パッケージとバージョンのリストをファイルに書き出す
  3. 新しい環境で一括インストールする
続きを読む

MeCab と mecab-ipadic-NEologd と Python3 で形態素解析

はじめに

 文章の機械学習、といっても大まかすぎるのですが、文章を対象とするデータ解析には単語に分割したものを機械学習モデルの入力とする、という手法がいくつかあります。
 英語の場合は単語はほとんどがスペース区切りになっているので特別な解析器がなくともなんとかなるのですが、日本語の場合はスペースはありませんし、単語でも活用があったりと簡単に分割することができません。そこで、日本語向けの解析器 MeCab (GitHub) を使って文章を単語に区切ってみたいと思います。解析器には日本語辞書が必要で、デフォルトで mecab-ipadic が付属しています。今回、Web 上にある文章の解析にも対応できるようにと、月2回程度更新されているという日本語辞書 mecab-ipadic-NEologd (GitHub) も追加でインストールしたいと思います。
 最後に、Python3 プログラムで簡単な分かち書きプログラムを作成して動作確認をします。

続きを読む

Matplotlibサンプル 試行回数と平均値への収束

はじめに

 Matplotlibで簡単なグラフ描画を試してみたいと思います。機械学習で学習の進み具合をプロットするためにも、プロットの簡単な方法をマスターしておきたいと思います。

続きを読む

機械学習のためのPython実行環境構築

はじめに

 機械学習のための基礎知識や簡単な分析、実験をするにあたり、数値計算ライブラリやニューラルネットワークフレームワークなどを利用したいのですが、このあたりのライブラリが充実しており、またソースコードが見やすい(疑似コードに似ている)という点でPythonを選びました。
 今回、手を動かしながらデータ操作、グラフへのプロットなどを進められるよう、Ubuntu14.04LTS GUI環境でのインストール手順をまとめました。

続きを読む

Matplotlib で no display name and no $DISPLAY environment variable が発生する

はじめに

 CentOS7 上で Python 3.5.2 + Matplotlib 1.5.1 の環境で使用中、下記コードの2行目でエラーが発生しました。


(venv) $ python
Python 3.5.2 (default, Jul 27 2016, 20:30:25)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
Traceback (most recent call last):
  File "", line 1, in 
  File "/home/user/plot/venv/lib/python3.5/site-packages/matplotlib/pyplot.py", line 527, in figure
    **kwargs)
  File "/home/user/plot/venv/lib/python3.5/site-packages/matplotlib/backends/backend_tkagg.py", line 84, in new_figure_manager
    return new_figure_manager_given_figure(num, figure)
  File "/home/user/plot/venv/lib/python3.5/site-packages/matplotlib/backends/backend_tkagg.py", line 92, in new_figure_manager_given_figure
    window = Tk.Tk()
  File "/opt/python3.5/lib/python3.5/tkinter/__init__.py", line 1867, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
続きを読む