2016-08-12 47 views
0

模塊我創建了使用pyinstaller python腳本在Mac上的二進制可執行文件,下面的命令:蟒蛇二進制可執行文件無法在OS X上運行:導入錯誤沒有名爲PyQt4的

pyinstaller --onefile --windowed chatEdit.py

也試過這樣:

pyinstaller --windowed chatEdit.py

在每種情況下,可執行文件都無法運行。

終端屏幕打開並顯示以下信息:

Failed to execute script chatEdit 
Traceback (most recent call last): 
    File "chatEdit.py", line 3, in <module> 
ImportError: No module named PyQt4 
logout 

請幫幫忙!

我的.spec文件:

# -*- mode: python -*- 

block_cipher = None 


a = Analysis(['chatEdit.py'], 
      pathex=['/Users/Shubhi/Documents/vin'], 
      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='chatEdit', 
      debug=False, 
      strip=False, 
      upx=True, 
      console=False) 
coll = COLLECT(exe, 
       a.binaries, 
       a.zipfiles, 
       a.datas, 
       strip=False, 
       upx=True, 
       name='chatEdit') 
app = BUNDLE(coll, 
      name='chatEdit.app', 
      icon=None, 
      bundle_identifier=None) 

回答

0

看來你錯過的PyQt中的.spec文件

我希望我的app.spec會幫助你。注意'PyQt4.QtCore', 'PyQt4.QtGui'hiddenimports

# -*- mode: python -*- 
a = Analysis(['app.py'], 
      pathex=['d:\\4com\\consultant\\consultant'], 
      hiddenimports=['grab.transport.curl', 'pycurl', 'weblib.user_agent', 'grab.response','openpyxl', 
      'openpyxl.styles', 'cookielib','_LWPCookieJar','_MozillaCookieJar','PyQt4.QtCore', 'PyQt4.QtGui', 
      'gui'], 
      hookspath=None, 
      runtime_hooks=None) 
pyz = PYZ(a.pure) 
exe = EXE(pyz, 
      a.scripts, 
      a.binaries, 
      a.zipfiles, 
      a.datas, 
      name='documents.exe', 
      debug=False, 
      strip=None, 
      upx=True, 
      console=True) 
+0

我的.spec已經沒有什麼hiddenimports上市(更新與規範文件中的QN)。我應該直接編輯規格文件嗎? –

+0

是的。至少應該添加PyQt導入。在我的文件中。它來自成功編譯的項目。讓我知道這是否有幫助。 – khorolets

+0

編輯它。如何使用這個新規格運行二進制文件? –

相關問題