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

2009/04/08

Pythonでテキストベースのインターフェイスを作成する

今日、よくLinuxのテキストモードインストール時に使用するインターフェイスの自作しているのを見て自分でもやりたくなってきたのでちょっと調べてみました。
何に使うかと言われると…ちょっと?ですが。

よく見るテキストモードでのインストールにはnewtというライブラリで実現できているのですが、そのnewtをPythonから使えるようにしたのがSnackというライブラリです。
setupコマンドでも利用されている、アレです。

CentOSでは何もインストールせずともSnackが含まれていたのですが、ubuntu(MIE)には含まれていなかったのでインストールしました。
ちなみにパッケージ名はpython-newtです。

使い方は下記のサイトにまとまっているのですが、全部理解するには少し時間がかかりそうです。
http://www.wanware.com/tsgdocs/snack.html

ひとまず、0.1秒に1%増えるプログレスバーだけ作ってみました。

#!/usr/bin/env python

import snack
import time

screen = snack.SnackScreen()

g = snack.GridForm(screen, 'TEST', 1, 1)

scale = snack.Scale(50, 100)
scale.set(0)
g.add(scale, 0, 0)

g.draw()

count = 0
while 1:
count = count + 1
scale.set(count)
g.draw()
screen.refresh()
time.sleep(0.1)
if count == 100:
break

screen.finish()


まだGrid、Formあたりの概念が理解しきれていないので引き続きドキュメントを読んでみます。
英語が苦手だとこんなところで障害になるんですよね…orz

あと、意外とGoogle Code Searchが参考になりました。
lang:python "import snack"とかで調べると使われてるコードがたくさん出てきて参考になります。

2008/10/12

MacOSでvirtual-pythonが動かない…

LinuxでPythonの開発をするときは、下記サイトを参考にvirtual-python環境を構築して、システムのPython環境を汚さないように開発をしています。

ウノウラボ Unoh Labs: Python開発環境を整えよう
reizn Second-Life - virtual-pythonの使い方

今日Macで同じようにしてみたのですが、どうやらうまく使用できない。
PYTHONPATHとかいろんなこと設定してみたりしましたが、easy_installすると動かないことが…orz
特にpysqliteとsqliteあたりが全然動かなかった…

と、数時間考えて…
よく考えてみたら、MacPortsが…。
しかもMacPortsには相当多くのPythonモジュールが…
結局、MacPortsで使うようにしました。
下記のものはちゃんと動きました。

  • Python 2.4

  • SQLAlchemy

  • Mako

  • pysqlite

  • flup




MacPortsならシステムのPython環境は汚さないし、最初からこうすれば良かった…。

2008/09/15

Mac OS X LeopardにOpenCVをインストール

OpenCVは画像の認識などといった画像処理を行うクロスプラットホームなライブラリです。
Intelが提供していて、1.0以降ではMacの対応も強化されているそうです。
まだ何ができるかしっかりわかってないのですが、おもしろそうなのでとりあえずインストールしてみることにしました。

この前インストールしたMacPortsにOpenCVがすでにあるようです。
下記コマンドでインストールします。
$ sudo port install opencv

インストールは以上です。
MacPorts最高。

とりあえずサンプルプログラムを動かしてみます。
サンプルプログラムは/opt/local/share/opencv/samples以下にあります。
Cで書かれたものとPythonで書かれたものがありました。
Pythonで書けるならそれにこしたことはないですね。
とりあえず、Pythonならコンパイルいらずなので実行してみます。
$ cd /opt/local/share/opencv/samples/python
$ python lkdemo.py


ほかにもたくさんのサンプルがありました。
一番おもしろそうな顔認識のサンプルはCだとiSightから動画をキャプチャしてたのですが、Pythonのものだと画像からのみでした。
サンプルがたくさんあるので後で書き直してみようかと思います。

PythonでかけるのであればXcodeとか使わないでEmacsとかでそのまま書けるのですごく便利そうです。
なんかいろいろパス通したりしなければいけなそうなのですが、何もしないで使えたのでちょっと気持ち悪い感じです。