アフィリエイト広告を利用しています

広告

posted by fanblog

2016年02月21日

pythonでexeファイルを作ろう

高級言語。
実行速度は遅いが同じ内容を少ないコードで実現できる。
流行りのRubyとPythonのどちらにしようか悩んだ。

芸能人でRubyの女神の池澤あやかを見習ってRubyにしようかとも思ったが、
自分はエンジニア。豊富な科学技術計算ライブラリをもつPythonの魅力は捨てがたい。
車輪の再発明は避けなければならない。
Pythonをインストールすることにした。

何も考えず一端は(2/21現在)最新版のPython3.5.1をインストールしたが
3.5は対応していないモジュールが多いので、アンインストールして
Python3.4.4をインストールした。
((2/21現在)3.5はexeファイルを作る方法がない。
 HCpy-Standalone-Bというソフトでできるようだが、
 ダウンロードしようとしたらWindows Defenderによるウイルスチェックではじかれた。)
exeファイルにできないと、PythonをインストールしているこのSurface Pro以外で使えない。
もし有用なプログラムを書いたら、仕事でも使いたい。
そのためにvisual studio 2015を使うのをあきらめたのだから。


ということで下記のサイトを参考にインストール完了。
>windows環境へのpythonインストール
http://qiita.com/maisuto/items/404e5803372a44419d60


Python2.xでexeファイルを作成する場合はpy2exeというモジュールで
簡単にexeファイルが作れたらしい。
Python3.x系統ではcx_freezeというモジュールを使うようなので
下記のサイトからダウンロード。→インストール
>Python Software Foundation cx_Freeze 4.3.4
https://pypi.python.org/pypi/cx_Freeze/4.3.4


さあ、初めてのコードを書こう。
テキストエディタに下記のコードを記載し、「test.py」として保存。
「HelloWorld」と書かれたtext01.txtというファイルを出力するコードだ。
pythonは高級言語だけあって、変数の型を宣言する必要はない。

a = 'Hello '
b = 'World'
c = a + b

fout = open('text01.txt', 'wt')
fout.write(c)

fout.close()

これをコマンドプロンプトからcdコマンドでtest.pyのあるフォルダに移動して
python test.py
というコマンドを実行すれば
テキストファイルが隣に出力される。


せっかくだから今まで覚えたBATファイルの知識を使ってみる。
テキストエディタに下記のように記載し、「testpy.bat」という名前で保存する。
@rem エコーを出力しない
@echo off

rem BATのあるフォルダに移動し.pyファイルを実行するBAT

rem 現在のフォルダに移動
cd /d %~dp0

python test.py

pause
exit

BATファイルのあるフォルダからの相対パスにしたい場合は
「python test.py」部分を
「python test1\test.pyとすれば、test1フォルダ内のtest.pyを実行する。
(pauseは必要に応じてremでコメントしてもよい)

テキストファイルへの入出力は下記のサイトを参考にした。
>今さらPython3 (49) - テキストファイル入出力
http://deutschina.hatenablog.com/entry/2016/01/26/013000

※後日、test.pyをダブルクリックするとコマンドプロンプトを介さなくても
 実行されることに気付く。。。。Batファイル要らないね。


さて、次にexeファイルの作成だが、
テキストエディタで下記のように記載し、「setup.py」という名前でtest.pyと同じフォルダに保存。
import sys
from cx_Freeze import setup, Executable

includes = []

base = None
if sys.platform == "win64":
base = "Win64GUI"

setup( name = "",
version = "",
options = {"build_exe": {"includes": includes}},
executables = [Executable("test.py", base=base)])

setup.pyの作成方法については
下記のサイトを参考にした。
>みーのぺーじ Pythonをcx_Freezeでexeにする (windows編)
http://pc.atsuhiro-me.net/entry/2013/01/21/000000_1

で、上記サイトは32bit版で記載しているが
自分はSurface proで64bit版のpythonをインストールしているので
5行目から6行目は
「if sys.platform == "win64":
base = "Win64GUI"」とした。
あと、上記サイトではPyQtというQUIに使うモデュールを取り込んでいるが、
自分の数行のコードは特に取り込む必要のあるモデュールもないので
「include」部分は空欄として「 includes = [] 」とした。

で、コマンドプロンプトからcdコマンドで
test.py、setup.pyと同じフォルダに移動し、
python setup.py buildというコマンドを実行すれば、buildフォルダができあがる。
中にはきちんとexeファイルができており、
実行すれば「HelloWorld」と書かれたテキストファイルがexeファイルの隣に出力される。

build.JPG

テキストファイル.JPG

上記も面倒なのでBATファイルを作ってしまうと、
テキストエディタで下記のコードを記載し、「setup.bat」として
test.py、setup.pyと同じフォルダに放り込む。

@rem エコーを出力しない
@echo off

rem BATのあるフォルダに移動し.pyファイルを実行するBAT

rem 現在のフォルダに移動
cd /d %~dp0

python setup.py build

pause

exit

setup.JPG

BATファイルを実行すれば、同じ場所にbuildフォルダができあがるという訳。
これでpythonのプログラミングが始められるようになった。
よしよし。

目標としては、「pywinauto」という機能で、
windowsを自在に操ること。
それまで地道に勉強しよう。
posted by iyoder at 21:17 | Comment(0) | TrackBack(0) | プログラム
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/4761432
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
最新記事
<< 2021年01月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
カテゴリーアーカイブ
ファン
プロフィール
最新コメント
×

この広告は30日以上新しい記事の更新がないブログに表示されております。