2016-12-04 93 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) 
相关问题