
pyinstallerで躓いたところ~Pythonコード をexe化~
2019/11/302018/08/11投稿のはてなブログから移行した内容です.
pyinstallerとは
Pythonで書かれたプログラムをexeファイルに変換してくれる。
当たり前?ですが、今回はWindowsの方対象です。
ANACONDAをインストール
なぜか、普通に入れたPythonだと動かなかったため、
ANACONDAを入れたほうがいいと思います。
pyinstallerのインストール
Anaconda Promptを起動
$ pip install pyinstaller
$ cd exe化するPythonファイルがあるディレクトリ
$ pyinstaller hoge.py
successみたいのが表示されると、同じディレクトリに
- buildフォルダ
- distフォルダ
- hoge.spec
が作成される
distフォルダ内にPythonファイル名と同じフォルダが作成されている。
今回の場合、hogeフォルダ
そのフォルダ内に、exeファイルがあるのでダブルクリックすれば実行されるはず
躓きポイント
Pythonコード内で他のファイルを参照していると、落ちてしまう
Pythonの標準ライブラリ?や自分で作成したPythonファイルなどは、
ちゃんと参照してくれる。
import系
今回僕は、Seleniumを使っていて、このSeleniumはpipで入れたのだが、
このSeleniumをインポートする部分で落ちてしまう。
解決策としては、インポートしたモジュールを
dist/exe化したフォルダ名内にコピーすると、うまくいく
モジュールを探す方法としては、以下のコマンドを打つことで確認することができる。
$pip show モジュール名
chromedriver, csv, jsonなど
これもimport系と同じように、dist/exe化したフォルダ名内にコピーすれば大丈夫
Togelloというサービスをリリースいたしました。