我为一个小的cx-freeze(5.0.2)测试设置了一个虚拟环境(Python 3.5)。但是创建的可执行文件不会运行。但是,py脚本本身在虚拟环境中正常工作。
这是我要编译成exe的脚本 3DHist-demo
我在开头添加了以下几行以获得PyQt4-backend:
import matplotlib
matplotlib.use('Qt4Agg')
我的设置脚本如下所示:
import sys
from cx_Freeze import setup, Executable
import os
base = 'Console'
if sys.platform == 'win32':
base = 'Win32GUI'
options = {
'build_exe': {
# Sometimes a little fine-tuning is needed
# exclude all backends except wx
'includes': ['matplotlib', 'numpy.core._methods',
'matplotlib.backends.backend_qt4agg', 'numpy'],
'excludes': [],
'optimize': 2,
'include_msvcr': True
}
}
executables = [
Executable('3Dhist.py', base=base)
]
setup(name='3Dhist',
version='0.1',
description='Sample matplotlib script',
executables=executables,
options=options
)
cx-freeze正确运行并创建所有必需的文件。但是可执行文件不会产生任何输出。它在后台执行某些操作,但它不是创建图形窗口。
我知道在我的完整python安装之后,在虚拟环境之外一切正常。
这是我的virtualenv中的包列表:
我做错了什么?