2016-12-04 123 views
0

我有一個簡單的腳本來繪製ROC曲線(使用sklearnmatplotlib)。我用PyInstaller從這個腳本創建一個可執行文件。該腳本本身運行和完美的作品,但可執行文件給了我這個錯誤:使用PyInstaller創建的Python可執行文件不會運行

No module named 'tkinter'

我的嘗試:

1)重新創建可執行文件沒有--onefile標誌(在任何情況下,.dll文件缺失) (失敗)

2)手動導入tkinter我的劇本里(失敗)

其實,當我加入import tkinter改爲錯誤(如果它的事項):

No module named 'tkinter.filedialog'

我很困惑。我多次使用PyInstaller,但這是我第一次遇到這種錯誤。

回答

0

編輯.spec文件並將模塊的路徑置於'pathex'內(在Analysis上)。您可以使用module.__file__來發現正確的模塊路徑。 你的情況:

>>> import tkinter.filedialog 
>>> tkinter.filedialog.__file__ 
'/usr/lib/python3.5/tkinter/filedialog.py' 

上的.spec文件:

a = Analysis(['main.py'], 
       pathex=['/usr/lib/python3.5/tkinter/'], 
       binaries=None, 
       datas=None, 
       hiddenimports=[], 
       hookspath=[], 
       runtime_hooks=[], 
       excludes=[], 
       win_no_prefer_redirects=False, 
       win_private_assemblies=False, 
       cipher=block_cipher) 
相關問題