このエントリーをはてなブックマークに追加

Pythonを実行するには、通常Pythonランタイムをインストールしなければなりません。


しかし、このランタイムとスクリプトを一緒にしてWindows実行形式(Exe)にすることでインストールなしでPythonスクリプトが動作するようになる。

ダウンロードして展開するだけでプログラムが動くようになり非常に配布が楽になります。


作り方

インストール

このリンク先を参考にpy2exeをインストールします。

http://www.cubelab.com/ymasuda/python/py2exe/py2exe.html

作成

スクリプトを用意

以下例はThe Snack Sound Toolkitをもちいて、F0値を取得するプログラムです。

■pitch.py

#! /usr/bin/env python

from Tkinter import *
from tkSnack import *
root = Tkinter.Tk()

initializeSnack(root);
import sys;
path=sys.argv[1];

mysound=Sound(load=path);
mysound.convert(encoding='Lin16',channels='1');

resultList=mysound.pitch(method='ESPS',minpitch=10,maxpitch=400);


for i in resultList:
	print i;

setup.pyの作成

以下のようなファイルを作成します。名前はなんでもかまいません。

■setup.py

# setup.py
from distutils.core import setup
import py2exe

setup(console=["pitch.py"])

実行

MS-DOSより以下のようにpythonを実行します。

注意

変換するスクリプト(pitch.py)行の最後に余計な空白やらタブがあると失敗することがあるようです。

python setup.py py2exe

ライブラリーのコピー

distというフォルダーがありそこに、pitch.exeというファイルが出来ています。

注意

tclとかを使っている場合、手動で必要なライブラリーをコピーします。

この例ですと、snacklibtclというフォルダーの中にいれます。

完成

これで、完成です。配布するときはdistフォルダーの中身すべて配布する必要があります。

例としてあげたプログラムは、オープンソースソフト akJ Audiotoolsの中のフォルダー以下で実際に使用しています。

akj_audiotools1.0.1-alpha\akj_audiotools1.0.1\plugins\snack_rcp_1.0.0\snackexecuter

サイト
Android情報サイト | Youtube サイト | Java サイト | Google 活用サイト | Google 情報サイト | 無料ソフト活用 サイト |写真活用のPicasa2 サイト |新サイト

Blog
Android ブログ


Copyright (c)2004 - 2012 Aki. All rights reserved.