2016-11-24 64 views
0

創建一個規範(與pyinstaller)文件並添加所需的代碼行(如kivy文檔描述)後,我得到這個txt文件「warnHR_specialist」噸噸的「缺少模塊命名.... .....「行。使用PyInstaller使Kivy應用程序可執行

此外,它是自我工作,但當我試圖使用鏈接到一個功能的按鈕,我得到一個致命的錯誤說「無法執行腳本」。

此按鈕捕獲一個txt文件路徑,打開它&使用熊貓模塊操縱數據..有可能我應該添加os模塊?我真的彷徨......

這裏是模塊IM使用我的應用程序:

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 

我用這個命令來創建規範文件:

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

這裏是我得到的spec文件+我在裏面製作的kivy變化,如他們所描述的:

# -*- 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工作,這意味着依賴關係已成功打包到EXE /文件夾(在您的案例文件夾中)。從這個報價中判斷即使Button事件起作用,所以Kivy應該被正確打包。

但是,這些錯誤是關於一些缺少的模塊(請包括日誌!),因此這意味着那些模塊未打包,或者Python無法導入它。如果它們沒有打包,那麼如果pyinstaller忘記也將它們提取到文件夾中,則可能需要將它們包含在hidden_imports中。

如果他們被打包(打開文件夾,檢查),他們可能無法導入。這看起來像你操縱一個從Pycharm中獲取進口的路徑,你需要edit it

相關問題