2017-12-27 48 views
1

私は、コマンドプロンプトで、私の単純なスクリプトのうち、exeファイルを作成しています「スクリプトを実行するために失敗しました」: pyInstallerの--onefile --exclude-モジュールscipyのダウンロードmyscript.pypyInstallerの除外モジュールの原因は

とするとき.exeを開く "myscript.exeスクリプトの実行に失敗しました"というメッセージが表示されます

除外モジュールを使用しないと、プログラムは完全に正常に動作します。 これも正常に動作しますscipyの有無にかかわらず(exclude-moduleコマンドを学習するために追加しました)

ここは私の.spec fiですファイルシステムで作成されたファイル:

# -*- mode: python -*- 

block_cipher = None 


a = Analysis(['Simpletkinter.py'], 
      pathex=['C:\\Program Files (x86)\\Python36-32\\Scripts'], 
      binaries=[], 
      datas=[], 
      hiddenimports=[], 
      hookspath=[], 
      runtime_hooks=[], 
      excludes=['scipy'], 
      win_no_prefer_redirects=False, 
      win_private_assemblies=False, 
      cipher=block_cipher) 
pyz = PYZ(a.pure, a.zipped_data, 
      cipher=block_cipher) 
exe = EXE(pyz, 
      a.scripts, 
      a.binaries, 
      a.zipfiles, 
      a.datas, 
      name='Simpletkinter', 
      debug=False, 
      strip=False, 
      upx=True, 
      runtime_tmpdir=None, 
      console=False) 

私は今後excludeオプションを使用する予定ですので、どんな助けでも大歓迎です!

ジャレッド

答えて

1

私は問題が何であったか...あなたはあなたのスクリプトで「輸入scipyのダウンロード」を使用し、後でpyInstallerのから除外しようとすることはできません 判明[OK]をクリックします。

は、私は私だけ

は今、私は行くことができ、使用する(任意の私が作るプログラムのために一つのファイルに整理され、使用されるすべて保存されます/)私の関数の各内部モジュールを含む、それを回避する方法を見つけました:

私も私のpythonだけは一度もインポートすることを今見EXE

に変換しようとしている、それが唯一の現在のスクリプトに使用されていない関数の内部でリストされているので、正常scipyのダウンロードを削除します

pyinstaller --exclude-module scipy 

複数回インポートするよう指示した場合同じモジュールを複数回インポートする関数を呼び出しても、プログラムの処理速度が低下しないようにしてください。

関連する問題