ラベル Python の投稿を表示しています。 すべての投稿を表示
ラベル Python の投稿を表示しています。 すべての投稿を表示

2015年6月19日金曜日

Pythonの軽量WEBフレームワークBottle (WebAPIを手軽に記述)

BottleはPythonの軽量WEBフレームワークである。テスト用に素早くAPIを公開したいなと考えたところ、ピッタリだと思った。

インストール
pipでインストールできる。
pip install bottle

サンプルコード api.py
以下の様な短いコードでWeb APIが動作する。



起動
python api.py
めちゃくちゃ楽できる・・・。今まで使わなかったことを後悔するくらいだ。

2015年6月12日金曜日

Bing画像検索API Pythonクライアント

学習画像を収集するための、Bing画像API Pythonクライアント。
保存ディレクトリとか検索ワードの指定をパラメータで引き渡すようにして少し使いやすくしたつもり。収集する画像の最大枚数を指定することも可能。


2015年6月6日土曜日

Python Vim 開発設定

Vimを使ってPython開発を快適に行うための設定

開発する上で目指したいのは、以下の様なことではないだろうか。

  • コードの記述量を減らす
  • コードの書式チェックを自動で行う
  • テキストエディタ同様の表示書式
  • 記述中にインタプリタを実行する

設定方法

コードの記述量を減らす

Python補完のVimプラグインを使用するため、jedi-vimを導入する。
以下のページがシンプルでわかりやすい。jedi-vimのインストール部分だけ実行すれば良い。
Vim+Python環境設定メモ


コードの書式チェックを自動で行う
コードの保存時などに、コードをチェックする。

sudo pip install flake8 pyflakes pep8 pylint


テキストエディタ同様の表示書式
~/.vimrcに以下を追加する。

"#####表示設定#####
set number "行番号を表示する
set title "編集中のファイル名を表示
set showmatch "括弧入力時の対応する括弧を表示
syntax on "コードの色分け
set tabstop=4 "インデントをスペース4つ分に設定
set smartindent "オートインデント

"#####検索設定#####
set ignorecase "大文字/小文字の区別なく検索する
set smartcase "検索文字列に大文字が含まれている場合は区別して検索する
set wrapscan "検索時に最後まで行ったら最初に戻る


記述中にインタプリタを実行する
~/.vimrcに以下を追加する。rubyとperlの実行も追加しておくと便利。

autocmd BufNewFile,BufRead *.rb nnoremap <C-e> :!ruby %
autocmd BufNewFile,BufRead *.py nnoremap <C-e> :!python %
autocmd BufNewFile,BufRead *.pl nnoremap <C-e> :!perl %

これでだいぶ作業しやすくなるはず。

2014年12月28日日曜日

機械学習入門向け資料の作成

そろそろ機械学習を一緒にやっていけるメンバーを増やしたいので、入門者向けの資料を見やすく整えておこうと思った。

機械学習のアルゴリズムを実装できなくても良いので、意味がわかって使えるというレベルまで。

教科書は日本語でも出ている「実践機械学習システム O'REILLY」。日本語の第一版と英語の最新である第二版で内容に差があるので、英語の第二版の内容に変更してまとめを行う。

第2章までは日本語の第一版との差がごく小さいので、第3章から。

第3章 クラスタリング:関連のある文書を見つける
http://nbviewer.ipython.org/github/MasazI/MachineLearningForBegginers/blob/master/PythonML03_Cluster.ipynb

2014年5月24日土曜日

はじめてのPython GoogleAppEngineのチュートリアル 1

はじめてのPython フレームワーク

webapp2 は google app engine のフレームワークです。
他にも Django や CherryPy、Pylonsなどが使えますが、webapp2 は Google App Engineの
環境を作成するときにインストールされるので、すぐ使えます。

webapp2
* RequestHandlerクラス:リクエスを処理してレスポンスを生成
* WEGIアプリケーションインスタンス:受信リクエストをURLに基づきハンドラに割り振る

# もっとも単純な例
以下がもっとも単純な例です。

RequestHandlerを継承したクラスのgetメソッドを作成すると、self.requestを通してリクエスト情報を取得出来ます。
通常は、self.response にプロパティを設定して終了します。

webapp2.WSGIApplication インスタンスがアプリケーションです。
debug=trueで、ハンドラにエラーが発生したり、キャッチされない例外が発生した場合にブラウザに出力します。

# ユーザ認証

以下の例は、ユーザのログイン認証機能を追加したものです。

users.get_current_user() で サインイン済みなら Userオブジェクトが、違う場合は None を得られます。


# フォーム
以下がフォームを使った例です。



また、webapp2のimportをyamlファイルに移動しています。



この例にはハンドラが2つ出てきます。
MainPageとGuestbookです。それぞれURL、/ と /sign に対応しています。
Guestbookではpostのみが定義されています。
cgi.escape()は、HTMLの特殊文字をエスケープします。ユーザに入力された文字が、HTMLとして動作するのを防いでいます。

cgiはPythonの標準ライブラリです。

○cgiドキュメント
https://docs.python.org/release/2.7.2/library/cgi.html


今日はここまで、次はDatastoreにデータを永続化してみます。

はじめてのPython 書式編

Pythonの書式についてひと通り見たまとめ。
最初のうちの備忘録。

標準出力・演算・ループ

新鮮です。主に扱ってきた言語が C++、C#、Java だからでしょうか。
でも拒否感は無いですし、行が少なくなるのはいいですね。

関数

Java8でラムダ式が追加されたのを機に使おう!と思っていてあまり使っていないラムダ式。


クラス・オブジェクト

特に無し。


継承

上のクラスを継承したクラス。



インポート方法

なるほど、こうやってモジュールの中の一部をロード出来るんですね。

2014年5月23日金曜日

Python for Google App Engine

出来るだけシンプルにPythonでWEBアプリ実装したいと思い、いままで使ってこなかったGoogle App Engine を使ってみようと思います。


Google のドキュメントを訳してくれている素晴らしい方がいました。
参考にさせてもらいながら、環境を作成します。

○Python for Google App Engine : Python tutorial の和訳



○インストール時の注意点

インストールディレクトリはデフォルトのままよりも、C:\GoolgleAppEngine などに変更しましょう。
ホワイトスペースを間に含むとあまり良くないです。


○pycharm の CE は Google App Engine プロジェクトに対応していない。

うーん、楽に開発したいので、どうしよ。

2014年5月19日月曜日

はじめての python 環境作成

python 開発環境を作成しよう


時系列解析環境を作成するため、python 環境を作成する。

pythonの日本コミュニティ
http://www.python.jp/

インストール


2系の最新版、python 2.7.6 にすることにしました。

https://www.python.org/downloads/

※python3系の対応ライブラリの件がよくわからなかったので、2系を選択。
慣れてきたら3系環境も構築しよう。

インストールはダウンロードした実行ファイルを使用するだけ。
インストールフォルダは変更しない方が良いようです。というのも、他の数値計算ライブラリをインストールするとき便利だからです。

ライブラリ


今回導入するライブラリは以下です。

pyaudio 音声ライブラリ
http://people.csail.mit.edu/hubert/pyaudio/


Numpy & Scipy 科学計算ライブラリ
http://www.scipy.org/scipylib/download.html

全部、exeを実行するだけでOK。

matplotlib グラフプロットライブラリ
http://matplotlib.org/

IDE

PyCharmをインストールします。
http://www.jetbrains.com/pycharm/

昔は有料版しかなかったようですが、CE(無料版)が出ています。

有名なIDEのコマンドを使えるようです。
使い慣れたIDEを選ぶと良いと思います。


PyCharmを初回起動すると、Pythonの実行ファイルを設定するように求められます。
以下を設定します。

[Pythonインストールフォルダ]/python.exe


以上で、開発環境の構築が完了です。