これまでに作成してきたPythonのアプリケーション(完成してないけど)を「PyInstaller」を使用して、実行可能なファイルにしてみる。
個人的な用途でしか使わないから、実行可能な1ファイルになってなくてもいいんだけど、一応、実行時に必要なライブラリが揃っていない別の環境で実行できるように「マルっ」としておこうと思う。
あと、開発工程ということでやっておく。(完成してないけど。。しつこい!)
で、「PyInstaller」を使用してみた感じだと、「ちょー楽」だった。Linux(Ubuntu)上の「PyInstaller」でしか試してないけど、
複数のソースで構成されているものでも、メインとなるモジュール(ここで言うと「pythonQuery.py」)を指定して「Makespec.py」すれば、依存するソース、それに関連するライブラリを全て取得してくれているみたい。
それと、今回使用するソースについてはGithubに上げています。
https://github.com/brokendish/PythonQuery
じゃあ「PyInstaller」をダウンロード
http://www.pyinstaller.org/
から「pyinstaller-1.5.1.zip」をダウンロードして解凍
unzip pyinstaller-1.5.1.zip |
解凍先に移動して
cd pyinstaller-1.5.1/ |
初期設定スクリプト実行
./Configure.py |
ここからは実際にパッケージを作成
./Makespec.py ../PythonQuery/pythonQuery.py |
で「pythonQuery.spec」を作成
./pythonQueryに「pythonQuery.spec」が出来る。
./Build.py pythonQuery/pythonQuery.spec |
./pythonQuery/distに実行可能ファイルが出来上がる。
ディレクトリの中身
_codecs_cn.so* libbz2.so.1.0* libresolv.so.2* _codecs_hk.so* libcairo.so.2* libselinux.so.1* _codecs_iso2022.so* libcrypto.so.1.0.0* libssl.so.1.0.0* _codecs_jp.so* libexpat.so.1* libstdc++.so.6* _codecs_kr.so* libffi.so.6* libtiff.so.4* _codecs_tw.so* libfontconfig.so.1* libtinfo.so.5* _heapq.so* libfreetype.so.6* libutil.so.1* _multibytecodec.so* libgcc_s.so.1* libuuid.so.1* _mysql.so* libgdk-x11-2.0.so.0* libwx_baseu-2.8.so.0* bz2.so* libgdk_pixbuf-2.0.so.0* libwx_baseu_net-2.8.so.0* datetime.so* libgio-2.0.so.0* libwx_gtk2u_adv-2.8.so.0* libICE.so.6* libglib-2.0.so.0* libwx_gtk2u_core-2.8.so.0* libSM.so.6* libgmodule-2.0.so.0* libwx_gtk2u_html-2.8.so.0* libX11.so.6* libgobject-2.0.so.0* libxcb-render.so.0* libXau.so.6* libgthread-2.0.so.0* libxcb-shm.so.0* libXcomposite.so.1* libgtk-x11-2.0.so.0* libxcb.so.1* libXcursor.so.1* libjpeg.so.62* libz.so.1* libXdamage.so.1* libmysqlclient_r.so.16* pythonQuery* libXdmcp.so.6* libpango-1.0.so.0* readline.so* libXext.so.6* libpangocairo-1.0.so.0* wx._controls_.so* libXfixes.so.3* libpangoft2-1.0.so.0* wx._core_.so* libXi.so.6* libpcre.so.3* wx._gdi_.so* libXinerama.so.1* libpixman-1.so.0* wx._grid.so* libXrandr.so.2* libpng12.so.0* wx._misc_.so* libXrender.so.1* libpython2.7.so.1.0* wx._windows_.so* libatk-1.0.so.0* libreadline.so.6* |
動くのに必要(そう)なライブラリが入ってる!
実行するには「pythonQuery」ダブルクリック!で実行
———————————————————
せっかくなので1つのファイルに纏めて、アイコン付きで作ってみる。
アイコンダブルクリック!で有無を言わさず即実行出来るように。
cd ~/tool/python/PKG-Make/pyinstaller-1.5.1/ |
さっき作ったのをリネームして別物にしておく
mv pythonQuery pythonQuery-lib-All |
作り直し。の前にオプション
-F または –onefile → exeファイルをひとつにまとめる
–windowed → Windowsアプリとする。コマンドラインが出ない。
–icon → アイコン画像
./Makespec.py --onefile --icon=bkd.ico ../PythonQuery/pythonQuery.py |
さっきと同じように
./pythonQueryに「pythonQuery.spec」が出来る。
で
./Build.py pythonQuery/pythonQuery.spec |
出来ているか見てみる
ll pythonQuery/dist -rwxr-xr-x 1 hoge hoge 14784151 2012-03-27 22:04 pythonQuery* |
出来ているみたい(ファイルサイズ約14M)
でもアイコン付かねーし。。
※必要ライブラリ全部入ってるから、やっぱデカイ。
実行してみる
AboutのJPG画像が出ない。これは自分で格納するしか無い??
んん。XX.specファイルいじれば出来るのか?。