2016-11-24 10 views
0

spec(pyinstallerを使用して)ファイルを作成し、必要なコード行を追加した後(kivyのドキュメントで説明)、このtxtファイル "warnHR_specialist" ..... "の行。PyInstallerを使用してKivy Appをexcutableにする

さらにGUI自体は機能していますが、機能にリンクされたボタンを使用しようとすると「スクリプトの実行に失敗しました」という致命的なエラーが表示されます。

このボタンは、txtファイルのパスをキャッチし、&pandasモジュールを使用してデータを開きます。osモジュールを追加する必要がありますか?イムは本当にcomfused ...ここ

は私のアプリで使用してモジュールのイムです:

from kivy.app import App 
from kivy.uix.button import Button 
from kivy.core.window import Window 
from kivy.uix.boxlayout import BoxLayout 
from kivy.uix.gridlayout import GridLayout 
from kivy.uix.label import Label 
import re 
import pandas as pd 

私はspecファイルを作成するには、次のコマンドを使用:ここで

pyinstaller --onedir --name=HR_specialist --windowed "my_file_path_here\HR_specialist.py" 

を私が得たspecファイルと、彼らが記述したように内部に作ったkivyの変更です:

私の心を失うことより、その後2週間とIMのために、この問題を解決しよう
# -*- mode: python -*- 
from kivy.deps import sdl2, glew 
from os import path 
block_cipher = None 


a = Analysis(['C:\\Users\\kedem_000\\PycharmProjects\\Projects\\HR_specialist\\HR_specialist.py'], 
      pathex=['C:\\Users\\kedem_000\\PycharmProjects\\Projects\\HRexe'], 
      binaries=None, 
      datas=None, 
      hiddenimports=[], 
      hookspath=[], 
      runtime_hooks=[], 
      excludes=[], 
      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, 
      exclude_binaries=True, 
      name='HR_specialist', 
      debug=False, 
      strip=False, 
      upx=True, 
      console=False) 

coll = COLLECT(exe, Tree('C:\Users\kedem_000\PycharmProjects\Projects\HR_specialist'), 
       a.binaries, 
       a.zipfiles, 
       a.datas, 
       *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)], 
       strip=False, 
       upx=True, 
       name='HR_specialist') 

イム...

任意のより多くの情報がコメントしてください必要な場合。

ありがとうございました!

答えて

1

さらにGUIが機能していますが、機能にリンクされたボタンを使用しようとすると、「スクリプトの実行に失敗しました」という致命的なエラーが表示されます。

GUIが動作する場合、依存関係が正常にexe/folder(ケースフォルダ内)にパッケージ化されていることを意味します。この引用からJudgindもButtonイベントが動作するので、Kivyは正しくパッケージ化する必要があります。

しかし、エラーはいくつかの不足しているモジュール(ログを含めてください)です。したがって、これらのモジュールはパッケージ化されていないか、Pythonはインポートできません。パッケージ化されていない場合は、pyinstallerをフォルダにも忘れた場合は、おそらくhidden_importsにそれらを含める必要があります。

パッケージ化されている(開いているフォルダ、チェック)場合、おそらくインポートできません。これは、あなたがPycharmでインポートされたパスを操作したように思えます。edit itが必要です。

関連する問題