アンケートや視聴率の誤差を推測するプログラム(3)-プログラムのスタンドアローンな実行ファイル化-
これは3回中3回めの記事です
Pythonがない人の環境でもプログラムを実行できるように実行ファイル化します。色々調べるとPython3ではまだ最新版に対応されていないようで、Python2の環境を手に入れるところから始まります。
先ず、Python2.7の環境を手に入れる
1からインストールするでも良いですし、default以外に2.7用の環境を作るでもいいです
python3とpython2を共存させる
コマンドプロンプトで以下のコマンドで作るだけでよい
conda create -n py2 python=2.7 anaconda
これで新たにpython2の環境が構築される。切替えや現在のデフォルトを知るには、以下のようにする
#デフォルトの環境がどっちになっているか確認する conda info -e #Python2の環境に変項する activate py27 #デフォルトの環境に戻す deactivate py27
参考にしたサイト
自分のPCはプロキシの問題があってエラーが出てしまったのでAnacondaをPython2.7のAnaconda2にまで下げて以下を実行しています。
pyinstallerを手に入れる
スタンドアローン化するパッケージは幾つかあるようだがpyinstallerが一番手軽。
以下のサイトの夫々のページのアドバイスに沿ってpyinsatallerを導入する
参考にしたサイト
PythonでWindowsアプリケーションを作ってみよう – Nobwak's Lair
Windowsにpyinstallerをインストール – Nobwak's Lair
pywin32が必要
先程のリンクの2つめ。Python2.7用をダウンロードする。インストーラー型で配布されているので、普通に実行すれば良い。
pyinstallerを入れるときの注意
Pythonのパッケージが入っているフォルダはここなので、ここにpyinstallerなどのフォルダを自分で作っていれる。
C:\(自分でインストールしたAnacondaの場所)\Lib\site-packages\
pip installが使えないとき
会社のパソコンなどを使っていると、往々にしてプロキシがありpip install できないことが多い。そういう時はパッケージを格納したディレクトリまでコマンドプロンプトで移動し
python setup.py install
とする
途中で足りないパッケージがあるよとerrorで言われたら、ググってパッケージをダウンロードし、同様にsetup.pyをPythonで実行してインストールしてやり直す。
pyinstallerを作ってみる
.pyのファイルを確認する
コマンドプロンプトで格納したファイルのディレクトリまで移動し
python hogehoge.py
として実行してみる。
元々のプログラムが上手く行っているか行ってないか事前に確認しておく。
pyinstallerを使う
大丈夫であればpyinstallerを使う。
参考にしたサイト
コマンド自体はとても簡単。
pyinstaller hogehoge.py --onefile --clean
- 単独のファイルにするには「–onefile」のオプションを。
- やり直しする場合は、「–clean」で前のファイルを必ず消す。
- コマンドプロンプトを立ち上げないようにするには、「–noconsole」をつける
なお、実行には10分位は待つ。
そして実行ファイルをダブルクリックしてからかなり待つ
とても便利だけど普通の人にはちょっと待ちすぎ?という位長い時間起動にかかるのがたまにきず。ファイルも重い。
参考にしたサイト
www.slideshare.net
Excelでもできる
ところでここまでやってからExcelの標準関数でできることがわかった。
例えば、サンプルサイズを「C2」のセルに、値(視聴率)を「C3」のセルに入力させると、
=ROUND(C3 + NORMSINV(0.025)*SQRT(C3*(100-C3)/C2),2) =ROUND(C3 + NORMSINV(0.975)*SQRT(C3*(100-C3)/C2),2)
とすればよい
参考にしたサイト