2016-04-17 182 views
1

私が書いた非常に単純なスクリプトから.exeを作成しようとしています。このスクリプトにはglobとpandasのみが含まれています。 pyinstallerにはmatplotlib、numpy、scipy、qt4、ipythonなどのものが含まれています。 matplotlibにエラーがあるため、.exeは実行されませんが、matplotlibは必要ありません。 pyinstallerがグロブとパンダだけが必要であることを認識できないようにするために間違っているのは何ですか?Pyinstallerに不要なモジュールが自動的に含まれます

私は手動でscipy、matplotlib、PyQt4、iPythonを除外しましたが、.exeはまだ160MBです!

P.S.私はこれをwinpythonのpython 3.4でやっています。

編集: もう少しテストをして、これをパンダに絞り込んだ。

import pandas 

のようなスクリプトでも、460MBのdistフォルダまたは182MBの1つのファイル.exeが作成されます。どんなモジュールがインポートされているかを知ることができるので、すべてを適切に除外することができる最も簡単な方法は何ですか?

EDIT2: 私は含まれていhook-pandas.pyファイルを作成しようとしている:

excludedhooks=['scipy','matplotlib','PIL','cython','PyQt4','zmq'] 

コンソール出力は、輸入が原因フックファイルに削除されていることを示しているが、これらのモジュールからのファイルのトンdistフォルダ内に残ります。

私はまた、これらのモジュールを--exclude-moduleを使用して.specファイルとコンソールで除外しようとしましたが、これらのモジュールのファイルはまだ表示されています。

+0

http://stackoverflow.com/questions/4890159/python-excluding-modules-pyinstaller/17595149#17595149 look – Taylan

+0

私は必要としないすべてのものを手作業で除外する必要がありますか?なぜ私はそれらすべてのモジュールが含まれていると仮定しますか? – nickexists

+0

それは分かりませんが、答えはPyInstallerの公式マニュアルに書かれていると思います。 – Taylan

答えて

0

Pyinstallerが現在の依存関係を認識している可能性があります。あなたが確信している場合は、--exclude-moduleフラグを使用して、除外するすべてのモジュールを表示してください。

http://pythonhosted.org/PyInstaller/#general-options

0

これは本当に解決策としてカウントしている場合はわかりません。しかし、すべて一緒にwinpythonを無視し、pyinstallerとpandasのpipインストールだけが追加されたpythonの標準インストールを使用して、私は簡単に18MBの機能.exeを生成することができました。私はwinpythonと関係があると思う。

関連する問題