サイバーワールド・メモランダム

電脳世界でのあれこれを備忘録として綴ります。

xyzzyのpythonモード

2012-06-06 14:10:55 | python
ちょっとしたプログラムであれば、eclipseよりxyzzyを使います。
xyzzyはemacsライクなバインディングで、昔からお気に入り。

xyzzyにpythonモードを導入するには:
http://hy-adversaria.blogspot.jp/2010/08/xyzzypython.html

上記のブログ記事の通りで問題なくpy-modeが導入できました。

ちなみにsiteinit.lはxyzzy/site-lisp配下に置く。

pythonでのGUI:TkInterとPIL

2012-06-05 16:16:48 | python

PythonでGUIを開発する際、標準ライブラリのTkinterを用いることができる。

ただ、Tkinterは画像として

  • BitmapImage: X11 bitmap
  • PhotoImage: GIF, PPM/PGM

しかハンドリングできない。

そこで PIL: Python Imaging Library を用いると、その中のImageTk moduleを活用することができる。

PILは多くの画像フォーマットをサポートしている。

BMP/GIF/JPEG/PNG/TIFF etc.

画像処理も簡単に実行できる。以下、

http://www.pythonware.com/library/pil/handbook/image.htm より:

 from PIL import Image

 im = Image.open("bride.jpg")

 im.rotate(45).show()

TkinterのPhotoImageは、

ImageTk.PhotoImage(image)

で作成可能。

 

以下、シンプル画像ビューアの例。ソースの大半は、以下のWebページと本:

  • 紫藤のページのTkinter入門 http://www.shido.info/index.php
  • みんなのPython 第14章

によるものです。大変勉強になりました。

import Tkinter as Tk
import Image, ImageTk
import tkFileDialog as FD

class App(Tk.Frame):
    def quit(self, event):
        self.master.destroy()

    def open(self, event):
        filename = FD.askopenfilename()
        if filename != "":
            im = Image.open(filename)
            if im.mode == "1": # bitmap image
                self.image1 = ImageTk.BitmapImage(im, foreground="white")
            else:              # photo image
                self.image1 = ImageTk.PhotoImage(im)
            self.la.config(image=self.image1,
                     width=self.image1.width(), height=self.image1.height())

    def init(self):
        self.image1 = Tk.PhotoImage()
        la = self.la = Tk.Label(self, image=self.image1, bg="#000000",
                         width=100, height=100)
        la.bind("", self.open)
        la.bind("", self.quit)
        la.pack()

    def __init__(self, master=None):
        Tk.Frame.__init__(self, master)
        self.master.title('PIL simple image viewer')
        self.init(); self.pack()
if __name__ == '__main__':
    app = App(); app.mainloop()


eclipse上のpydev動作確認

2012-06-05 14:30:50 | python
eclipseを立ち上げる。
右上のパースペクティブをPyDevに切り替える

ファイル->新規->PyDevプロジェクト
で新規プロジェクトの作成に入る
・プロジェクト名を投入
・文法バージョンを確認 自分の場合は2.7
・インタープリター:-)を確認 前回セットしたのでDefaultで可能
・「Create 'src' folder and add it to the PYTHONPATH」を選択
 これを選ばなくても、後からsrcフォルダを作ればよい。
「完了」で作成される
※「次へ」を選ぶと、参照するプロジェクトを聞かれる

ファイル->新規->PyDevモジュール
で新規Pythonモジュールの作成に入る
※プロジェクト内のsrcフォルダを右クリックして新規->PyDevモジュールでもよい
 前の段階でsrcフォルダを指定していれば、ソース・フォルダーの欄に自動挿入される
・名前の欄にファイル名を投入
「完了」で作成される(srcフォルダ配下)

ファイル名のエディタが開く
適当にpythonのコードを作成
たとえば:
print "Hello, World."

動作確認
実行->実行 でも 実行->実行->(番号)Python実行でも、
メニューバーの「再生」ボタンでもOK。
ファイル保存していない場合には聞かれる。
下のコンソールに、Hello, World.と表示される。

これでとりあえずの動作確認終了。

eclipse日本語化

2012-06-04 12:42:18 | python
前回までのオリジナルeclipseに、pleiades- 日本語化プラグインを当てる。

http://mergedoc.sourceforge.jp/index.html
より
Pleiades本体ダウンロードを選択。
6/4付では最新版1.3.4。
pleiades.zipを入手、解凍。
plugins, features, readmeフォルダとcmdファイル2つをeclipseの
ホームフォルダに入れる。自分の場合、Program Files(x86)\eclipse
後はreadme_pleiades.txtに従う。具体的には
・eclipse.iniに一行追加。
(・splashはどうでもいいので変更なし)
・eclipse.exe - clean.cmdを起動

日本語化完了。確かにPyDevの設定画面も日本語化している。
次からがeclipse,exeを起動してもOK。

eclipseセットアップ&PyDev導入

2012-06-04 12:05:14 | python
python開発環境用にeclipseを準備する。
別にeclipseである必要はないのだが、どうせjavaも使うことになるし…

日本語化済のpleiades-e3.7-ultimate-jre_20120225.zipをダウンロードして
やってみたのだが、うまくPyDevが入らないので一からやり直し。
※aptanaの認証画面以降でエラーがでる。aptanaをインストールすれば
 よいのかもしれないけど。

http://www.eclipse.org/downloads/index.php
からEclipse IDE for Java Developers の Windows 32bitを選択してダウンロード。
eclipse-java-indigo-SR2-win32.zipを入手。
解凍して、eclipseフォルダをProgram Files(x86)に配置。

eclipseを立ち上げる。
Select a workspaceでWorkspaceを指定。
まずは無事にeclipse起動。

Help->Install New Software
Work withに
http://pydev.org/updates
を追加する。NameでPyDevを選択してNext。
以下、PyDev for Eclipseを選んで各種承認後、再起動でインストール。
今回は問題なくインストールできた。

Window->PreferenceにPyDevが追加されているのを確認。
PyDevの下のInterpreter - Pythonでinterpretersを追加。
C:\Python27\python.exeを指定し、種々確認して設定終了。

まずはここまで。

pythonセットアップ

2012-05-11 13:02:15 | python
pythonはOpenCVをインタラクティブに動かすためにインストールする。
http://www.python.org/
python-2.7.3.msiをダウンロード。
インストールは簡単。C:\Python27とする。

numpyをインストール。
http://numpy.scipy.org/
numpy-1.6.1-win32-superpack-python2.7.exeをダウンロード。
C:\Python27\Lib\site-packages配下にnumpyディレクトリができる。
import numpyで利用可能。

OpenCVのPythonインタフェースをインストール。
C:\opencv2.3\build\python\2.7配下の
cv.py
cv2.pyd
をC:\Python27\Lib\site-packages配下にコピー。
import cvで利用可能。

PIL(Python Imaging Library)をインストール。
http://www.pythonware.com/products/pil/
PIL-1.1.7.win32-py2.7.exeをダウンロード。
C:\Python27\Lib\site-packages配下にPILディレクトリができる。
import Imageで利用可能。

psycoはどうしようか。