Home > Tags > ming

ming

python+ming+windows インストール編

まずは mingを導入しなければならない.下記サイトからたどって現時点の最新版 ming-0.4.2.tar.gz を拾ってきた.

http://www.sf.net/projects/ming

ソースコードなのでコンパイルしなければならない.
インストール先のPC環境は次のようなものだ.

  • Windows Vista SP2
  • mingw32+msys
  • Python 2.54
  • cygwin

msys上のコンソールで以下をたたく

tar xvfz ming-0.4.2.tar.gz
cd ming-0.4.2
./configure –prefix=/usr/local –enable-python

しかしPythonのところでエラーが吐きだされ止まってしまう.
どうやらパスの付け方の違い(msys vs windows)が原因のようだ.
Pythonもmingwな環境でコンパイルしていればいいのだろうが,
Windows用の標準CPythonだから VCでコンパイルされているに違いない.
調査と思考錯誤の結果,以下のようにしてコンフィグを克服した.

./configure –enable-python –prefix=/usr/local PYTHON_VERSION=’2.5′ PYTHON_CPPFLAGS=’-Ic:\cygwin\usr\local\python25\include’ PYTHON_LDFLAGS=’-Lc:\cygwin\usr\local\python25\libs -Lc:\msys\1.0\local\lib -lpython25′ PYTHON_SITE_PKG=’c:\cygwin\usr\local\python25\lib\site-packages’ CFLAGS=’-I/c/msys/1.0/local/include’ CXXFLAGS=’-I/c/msys/1.0/local/include’ CPPFLAGS=’-I/c/msys/1.0/local/include’ LDFLAGS=’-L/c/msys/1.0/local/lib’

pythonのパスが「c:/cygwin/usr/local/python25」となっているが,
pythonはCygwinのセットアップで入れたものではなく Pythonのサイトから
msi形式でダウンロードできるインストーラでインストールしたものであることを補足しておく.
もちろん python25のインストールフォルダなど,それぞれの適切なフォルダ名に変更する必要がある.
コンフィグが通ったらmakeする.

make

しかし,ここでも躓くことになる.
py_ext フォルダの中身がうまくコンパイルできない.
ここで以下のようにする.
py_ext/setup.py を開き,以下の2か所を修正.
10行目

修正前:
srcdir = “/c/tmp/ming-0.4.2/py_ext”
修正後:
srcdir = “c:\\tmp\\ming-0.4.2\\py_ext”

30行目

修正前:
library_dirs=[‘../src/.libs’,’/c/msys/1.0/local/lib/’],
修正後:
library_dirs=[‘../src/.libs’,’c:\\msys\\1.0\local\\lib/’],

再度 make すれば,すべてのビルドは成功した.
最後にインストール

make install

ようやく ming+pythonをwindows上で試せるときが来た.

ming+python+OpenCVで遊ぶ

  • Comments (Close): 0
  • Trackbacks (Close): 0

python+ming+windows

Websiteにアニメを埋め込むときに 当たり前に使われているFlashムービーを,自分でつくったことがなかったが,最近,「ming」というGPLなソフトを使えばPythonでインタラクティブなFlashを作れることを知った.顧客から効果的なプレゼンコンテンツを求められる今,PythonでFlashを作って提供するなんて面白いかもしれない.

python+ming+windowsのインストール編
ming+python+OpenCVで遊ぶ

  • Comments (Close): 0
  • Trackbacks (Close): 0

Home > Tags > ming

Search
Feeds
Authorized
奨学金支援制度
Meta

Return to page top