cx freeze exe 未运行(没有任何反应)

Posted

技术标签:

【中文标题】cx freeze exe 未运行(没有任何反应)【英文标题】:cx freeze exe not running (nothing happens) 【发布时间】:2017-01-11 14:50:09 【问题描述】:

Windows 7 x64、Python 2.7(Anaconda 发行版)、cx_Freeze 5.0

我无法使用 cx freeze 将我的 python 脚本转换为可执行文件。我可以使用下面的设置文件创建一个 exe(没有提到错误),尽管在构建时有很多带有“?”的缺失模块在它旁边——我不确定这是否重要。

Missing modules:
?  imported from nbformat.validator
? AppKit imported from matplotlib.backends.backend_cocoaagg
? Carbon imported from plistlib
? Carbon.File imported from plistlib
? Carbon.Files imported from plistlib
? ElementC14N imported from xml.etree.ElementTree
? Foundation imported from matplotlib.backends.backend_cocoaagg
? Gtk.glade imported from matplotlib.backends.backend_gtk3
? IPython.kernel.comm imported from matplotlib.backends.backend_nbagg
? IPython.kernel.zmq.kernelapp imported from IPython
? Image imported from docutils.parsers.rst.directives.images, docutils.writers.html4css1, sphinx.writers.html
? IronPython.Runtime.Exceptions imported from nose.suite
? IronPythonConsole imported from pyreadline.console.ironpython_console
? Levenshtein imported from sphinx.versioning
? MacOS imported from platform
? OpenGL.GLUT imported from IPython.lib.inputhook, IPython.lib.inputhookglut
? OpenGL.platform imported from IPython.lib.inputhookglut
? PyObjCTools imported from matplotlib.backends.backend_cocoaagg
? PyQt5 imported from IPython.external.qt_loaders, matplotlib.backends.qt_compat
? PyQt5.QtCore imported from PIL.ImageQt
? PyQt5.QtGui imported from PIL.ImageQt
? PyQt5.QtWidgets imported from matplotlib.pyplot
? PySide imported from IPython.external.qt_loaders, matplotlib.backends.qt_compat
? PySide.QtCore imported from PIL.ImageQt
? PySide.QtGui imported from PIL.ImageQt
? Pyrex.Compiler.Main imported from numpy.distutils.command.build_src
? Stemmer imported from sphinx.search.en
? System imported from IPython.utils._process_cli, pyreadline.console.ironpython_console, pyreadline.keysyms.ironpython_keysyms, pyreadline.rlmain, traitlets.traitlets
? System.Windows.Forms.Clipboard imported from pyreadline.clipboard.ironpython_clipboard
? __pypy__ imported from jinja2.debug
? _curses imported from curses, curses.has_key
? _datetime imported from future.backports.datetime
? _dummy_threading imported from dummy_threading
? _emx_link imported from os
? _imaging_gif imported from PIL.GifImagePlugin
? _imp imported from pkg_resources
? _scproxy imported from future.backports.urllib.request, urllib
? _sysconfigdata imported from distutils.sysconfig, sysconfig
? _thread.allocate_lock imported from cffi.lock
? _thread.get_ident imported from future.backports.misc, singledispatch_helpers
? _thread.interrupt_main imported from ipykernel.parentpoller
? _winapi imported from ipykernel.parentpoller, jupyter_client.launcher
? appnope imported from IPython.lib.inputhook, ipykernel.eventloops
? asyncio imported from tornado.platform.asyncio
? builtins.bool imported from numpy, numpy.core.numerictypes, numpy.lib._iotools
? builtins.complex imported from numpy, numpy.core.numerictypes, numpy.lib._iotools
? builtins.float imported from numpy, numpy.core.numerictypes, numpy.lib._iotools
? cairo imported from matplotlib.backends.backend_cairo
? cairo.gtk imported from matplotlib.backends.backend_gtkcairo
? cairocffi imported from matplotlib.backends.backend_cairo
? ce imported from os
? certifi imported from requests.certs, tornado.netutil, tornado.simple_httpclient
? cffi._pycparser imported from cffi.cparser
? chardet imported from pygments.lexer, requests.packages
? cloudpickle imported from ipykernel.pickleutil
? clr imported from IPython.utils._process_cli, nose.suite, pyreadline.clipboard.ironpython_clipboard, pyreadline.console.ironpython_console
? code_generators.genapi imported from numpy.core.cversions
? code_generators.numpy_api imported from numpy.core.cversions
? configparser imported from numpy.distutils.npy_pkg_config, numpy.distutils.system_info, setuptools.compat
? console imported from pyreadline.console.ansi
? coverage imported from IPython.testing.iptestcontroller
? coverage.html imported from IPython.testing.iptestcontroller
? ctags imported from pygments.formatters.html
? dbm imported from future.moves.dbm, future.moves.dbm.ndbm, future.standard_library, whichdb
? dbm.dumb imported from future.moves.dbm.dumb
? dbm.gnu imported from future.moves.dbm.gnu
? dbm.ndbm imported from future.moves.dbm.ndbm
? dill imported from ipykernel.pickleutil
? elementtree.ElementTree imported from xlrd.xlsx
? faulthandler imported from matplotlib
? fcntl imported from sphinx.util.console, subprocess, tornado.platform.posix, zmq.eventloop.minitornado.platform.posix
? gdbm imported from future.moves.dbm.gnu
? genapi imported from numpy.core.generate_numpy_api
? gestalt imported from platform
? gi imported from matplotlib.backends.backend_gtk3
? gi.repository imported from IPython.lib.inputhookgtk3, ipykernel.gui.gtk3embed, matplotlib.backends.backend_gtk3, matplotlib.pyplot
? glut_support imported from IPython.lib.inputhook
? gobject imported from IPython.lib.inputhookgtk, ipykernel.gui.gtkembed, matplotlib.backends.backend_gdk, matplotlib.backends.backend_gtk, matplotlib.pyplot
? grp imported from distutils.archive_util, path, shutil, tarfile
? gtk imported from IPython.lib.inputhook, IPython.lib.inputhookgtk, ipykernel.gui.gtkembed, matplotlib.backends.backend_gdk, matplotlib.backends.backend_gtk, matplotlib.backends.backend_gtkcairo
? gtk.glade imported from matplotlib.backends.backend_gtk
? importlib.machinery imported from IPython.core.completerlib, cffi.verifier, pkg_resources
? importlib.reload imported from IPython.core.extensions
? importlib.util imported from IPython.utils.openpy
? ipyparallel imported from ipykernel.zmqshell
? isodate imported from jsonschema._format
? java.lang imported from platform, xml.sax._exceptions
? jinja imported from matplotlib.sphinxext.plot_directive
? jinja2.debugrenderer imported from jinja2.debug
? matplotlib.backends._backend_gdk imported from matplotlib.backends.backend_gdk
? matplotlib.backends._gtkagg imported from matplotlib.backends.backend_gtkagg
? matplotlib.backends._macosx imported from matplotlib.backends.backend_macosx
? matplotlib.externals.six.moves imported from matplotlib, matplotlib.afm, matplotlib.animation, matplotlib.axes._axes, matplotlib.axes._base, matplotlib.axes._subplots, matplotlib.backend_bases, matplotlib.backends.backend_cocoaagg, matplotlib.backends.backend_ps, matplotlib.backends.backend_svg, matplotlib.backends.backend_tkagg, matplotlib.backends.backend_wx, matplotlib.backends.qt_editor.formlayout, matplotlib.backends.tkagg, matplotlib.cbook, matplotlib.collections, matplotlib.colorbar, matplotlib.colors, matplotlib.contour, matplotlib.dates, matplotlib.delaunay.testfuncs, matplotlib.delaunay.triangulate, matplotlib.dviread, matplotlib.finance, matplotlib.font_manager, matplotlib.gridspec, matplotlib.hatch, matplotlib.legend, matplotlib.legend_handler, matplotlib.markers, matplotlib.mlab, matplotlib.offsetbox, matplotlib.patches, matplotlib.sankey, matplotlib.sphinxext.plot_directive, matplotlib.stackplot, matplotlib.streamplot, matplotlib.table, matplotlib.testing.disable_internet, matplotlib.testing.jpl_units.StrConverter, matplotlib.text, matplotlib.textpath, matplotlib.tri.triinterpolate, matplotlib.widgets
? matplotlib.externals.six.moves.urllib.parse imported from matplotlib.image, matplotlib.textpath
? matplotlib.externals.six.moves.urllib.request imported from matplotlib, matplotlib.finance, matplotlib.image
? mklfft.fftpack imported from numpy.fft
? mock imported from matplotlib
? monotime imported from tornado.platform.auto, zmq.eventloop.minitornado.platform.auto
? mpl_toolkits.natgrid imported from matplotlib.mlab
? ndg.httpsclient.ssl_peer_verification imported from requests.packages.urllib3.contrib.pyopenssl
? ndg.httpsclient.subj_alt_name imported from requests.packages.urllib3.contrib.pyopenssl
? netifaces imported from jupyter_client.localinterfaces
? numarray imported from numpy.distutils.system_info
? numpy._build_utils.apple_accelerate imported from numpy.core.setup
? numpy.core.equal imported from numpy.lib.user_array
? numpy.core.float32 imported from numpy.testing.utils
? numpy.core.geterrobj imported from numpy.linalg.linalg
? numpy.core.greater_equal imported from numpy.lib.user_array
? numpy.core.integer imported from numpy.fft.helper
? numpy.core.intp imported from numpy.linalg.linalg
? numpy.core.less_equal imported from numpy.lib.user_array
? numpy.core.longdouble imported from numpy.linalg.linalg
? numpy.core.signbit imported from numpy.testing.utils
? numpy.core.sin imported from numpy.lib.user_array
? numpy.core.subtract imported from numpy.lib.user_array
? numpy_api imported from numpy.core.generate_numpy_api
? numpy_distutils imported from numpy.f2py.diagnose
? numpy_distutils.command.build_flib imported from numpy.f2py.diagnose
? numpy_distutils.command.cpuinfo imported from numpy.f2py.diagnose
? numpy_distutils.cpuinfo imported from numpy.f2py.diagnose
? numpy_distutils.fcompiler imported from numpy.f2py.diagnose
? objc imported from matplotlib.backends.backend_cocoaagg
? ordereddict imported from singledispatch_helpers
? org.python.core imported from copy, pickle, xml.sax
? org.python.modules.posix.PosixModule imported from setuptools.sandbox
? os.path imported from IPython.lib.display, IPython.paths, IPython.testing.iptest, IPython.utils.openpy, cffi.ffiplatform, distutils.file_util, docutils.frontend, docutils.parsers.rst.directives.misc, docutils.utils, docutils.utils.math.math2html, docutils.writers, docutils.writers.html4css1, matplotlib.backends.backend_tkagg, matplotlib.backends.backend_wx, matplotlib.backends.qt_editor.figureoptions, matplotlib.cbook, matplotlib.sphinxext.plot_directive, notebook.nbextensions, notebook.services.config.manager, numpy.core.cversions, numpy.core.memmap, numpy.core.setup, numpy.random.setup, os, pkg_resources, pkgutil, pycparser.ply.lex, pycparser.ply.yacc, pygments.formatters, pygments.formatters.html, pygments.lexers, pygments.regexopt, pytz, pytz.tzfile, requests.adapters, requests.certs, setuptools.utils, shlex, shutil, sysconfig, tornado.template, tornado.web, zmq
? os2 imported from os
? os2emxpath imported from os
? packaging.specifiers imported from pkg_resources
? packaging.version imported from pkg_resources
? pango imported from matplotlib.backends.backend_gdk, matplotlib.backends.backend_gtk
? paramiko imported from zmq.ssh.tunnel
? pathlib imported from PIL.Image
? pexpect imported from IPython.utils._process_posix, zmq.ssh.tunnel
? pkg_resources.iter_entry_points imported from nose.plugins.manager, setuptools.command.egg_info
? pkg_resources.resource_stream imported from pytz
? pkg_resources.resource_string imported from setuptools.command.easy_install
? porterstemmer imported from sphinx.search.en
? posix imported from os
? pretty imported from jinja2.utils
? pwd imported from CGIHTTPServer, distutils.archive_util, distutils.util, docutils.frontend, getpass, netrc, path, posixpath, shutil, tarfile, webbrowser
? pyczmq imported from zmq.sugar.context
? pydb imported from IPython.core.debugger, IPython.core.interactiveshell
? pydb.fns imported from IPython.core.debugger
? pyglet imported from IPython.lib.inputhookpyglet
? pygments.formatters.HtmlFormatter imported from nbconvert.filters.highlight, nbconvert.filters.markdown_mistune, nbconvert.preprocessors.csshtmlheader, sphinx.highlighting
? pygments.formatters.LatexFormatter imported from nbconvert.filters.highlight, nbconvert.preprocessors.latex, sphinx.highlighting
? pygments.lexers.BashLexer imported from IPython.lib.lexers
? pygments.lexers.CLexer imported from sphinx.highlighting
? pygments.lexers.Python3Lexer imported from IPython.lib.lexers
? pygments.lexers.PythonConsoleLexer imported from sphinx.highlighting
? pygments.lexers.PythonLexer imported from IPython.lib.lexers, sphinx.highlighting
? pygments.lexers.RstLexer imported from sphinx.highlighting
? pygments.lexers.TextLexer imported from sphinx.highlighting
? pysqlite2 imported from IPython.core.history
? reprlib.recursive_repr imported from future.backports.misc
? requests.packages.urllib3.packages.six.moves imported from requests.packages.urllib3.response, requests.packages.urllib3.util.response
? resource imported from IPython.utils.timing, profile
? rfc3987 imported from jsonschema._format
? riscos imported from os
? riscosenviron imported from os
? riscospath imported from os
? roman imported from docutils.writers.latex2e, docutils.writers.manpage
? rourl2path imported from urllib
? scipy imported from numpy.testing.nosetester
? setuptools_svn imported from setuptools.command.egg_info
? simplejson imported from requests.compat
? six.moves imported from cycler, dateutil.rrule, dateutil.tzwin, sphinx.application, sphinx.builders.html, sphinx.directives.other, sphinx.environment, sphinx.locale, sphinx.search, sphinx.theming, sphinx.util, sphinx.util.inspect, sphinx.util.jsonimpl, sphinx.util.pycompat, sphinx.versioning, sphinx.writers.texinfo, sphinx.writers.text
? six.moves.urllib.parse imported from sphinx.util
? sphinx.pycode.PycodeError imported from sphinx.ext.autodoc
? startup imported from pyreadline.keysyms.common, pyreadline.keysyms.keysyms
? strict_rfc3339 imported from jsonschema._format
? termios imported from IPython.core.page, getpass, sphinx.util.console, tty
? test imported from future.standard_library
? test.support imported from future.moves.test.support
? test.test_support imported from future.moves.test.support
? testing.udir imported from cffi.recompiler
? tkinter imported from IPython.lib.clipboard, IPython.lib.inputhook, ipykernel.eventloops
? trollius imported from tornado.platform.asyncio
? unittest._WritelnDecorator imported from nose.plugins.multiprocess
? unittest.mock imported from matplotlib
? unittest2.case imported from nose.plugins.skip
? urllib.error imported from numpy.lib._datasource, setuptools.compat
? urllib.parse imported from IPython.core.extensions, IPython.lib.display, jinja2._compat, jsonschema.compat, nbconvert.filters.strings, notebook.nbextensions, notebook.utils, numpy.lib._datasource, pkg_resources, requests.compat, requests.packages.urllib3.poolmanager, requests.packages.urllib3.request, setuptools.compat, tornado.escape, tornado.httputil, tornado.simple_httpclient, tornado.web, tornado.websocket
? urllib.request imported from IPython.core.display, IPython.core.extensions, IPython.core.interactiveshell, IPython.core.magics.code, IPython.utils.openpy, jsonschema.compat, notebook.nbextensions, numpy.lib._datasource, requests.compat, setuptools.compat
? urllib3 imported from requests.packages
? vms_lib imported from platform
? webcolors imported from jsonschema._format
? win32com.gen_py imported from win32com
? wincertstore imported from setuptools.ssl_support
? winreg.CloseKey imported from platform
? winreg.HKEY_LOCAL_MACHINE imported from platform
? winreg.OpenKeyEx imported from platform
? winreg.QueryValueEx imported from platform
? wx imported from IPython.lib.guisupport, IPython.lib.inputhook, IPython.lib.inputhookwx, ipykernel.eventloops, matplotlib.backends.backend_wx, matplotlib.backends.backend_wxagg, matplotlib.backends.wx_compat, matplotlib.pyplot
? zmq.EAGAIN imported from zmq.error
? zmq.ETERM imported from zmq.error, zmq.eventloop.ioloop
? zmq.backend.Context imported from zmq.sugar.context
? zmq.backend.Frame imported from zmq.sugar.frame, zmq.sugar.tracker
? zmq.backend.Socket imported from zmq.sugar.socket
? zmq.backend.constants imported from zmq.sugar.constants
? zmq.backend.strerror imported from zmq.error
? zmq.backend.zmq_errno imported from zmq.error
? zmq.backend.zmq_poll imported from zmq.sugar.poll
? zmq.backend.zmq_version_info imported from zmq.sugar.version
This is not necessarily a problem - the modules may not be needed on this platform.

如果我使用下面的设置文件,那么当我点击 exe 时不会发生任何事情(如果我从命令提示符或单独的批处理文件运行它)。

如果我编辑设置文件来强制

base = None

然后当我运行 exe 时,命令提示符窗口会短暂出现然后消失,没有其他任何反应。

import sys
from cx_Freeze import setup, Executable
import xlwt, numpy, functools, copy, xlrd, time, os, matplotlib


base = None
if sys.platform == "win32":
    base = "Win32GUI"


build_options = "packages":["xlwt", "numpy", "functools", "copy", "xlrd", "time", "os", "matplotlib" ],
                 "include_files":["Mefisto_logo.jpg", "LOGO H2020 RIA.png", "logo_h2020_transparent.png",
                                  "logo_minouw.png", "logo-csic.png", "logo-icm.png",
                                  "logo-icm-ca-csic.png", "MEFISTO_userguide.pdf"] 

executables = [Executable("mefisto_main_10.py", base=base, icon="Mefisto_logo.ico")]
# Note for some reason the icon must be .ico - cx freeze will not work with either jpg or png


setup(name = "Mefisto",
      version = "4.01",
      description = "Mediterranean fisheries simulation tool",
      options = "build_exe": build_options,
      executables = executables            
      )

我的 python 脚本是一个带有以下导入包的 pyqt GUI: PyQt4, xlwt, numpy, functools, copy, xlrd, time, os, matplotlib

我应该在 build_options“packages”中包含更多/更少的这些导入吗?我试过包括不同的,但结果是一样的。 我需要将这些包导入到安装文件中吗?如果我不这样做似乎没有什么不同。似乎它需要的所有导入包都包含在 build 文件夹中。

(如果我在安装文件中包含 PyQt4,则会引发错误: ImportError:没有名为“PyQt4.uic.port_v3.proxy_base”的模块 但这似乎是一个常见问题,大多数解决方案建议不要在安装文件中包含 PyQt4,因为它是自动导入的)

我也试过在运行 exe 时禁用我的防病毒和防火墙,因为我已经阅读了这可能会导致问题,但结果是一样的。

我怎么知道这里有什么问题?它把我逼疯了!有没有办法得到错误报告?可能是缺少 dll 之类的?

【问题讨论】:

在命令提示符下运行您的可执行文件,以便您可以找出显示的错误消息。并使用 base = "Console" 确保 Windows 不会关闭您的 stdout 和 stderr!希望这至少可以帮助您确定它在抱怨什么。 感谢您的回复。我强制 base="Console",重建 exe 并从命令提示符运行。什么也没有发生。如果我双击 exe,则会出现错误消息“应用程序无法正确启动 (0x0000142)。单击确定关闭应用程序。” 【参考方案1】:

最后我卸载并重新安装了 Anaconda。这似乎起到了作用,因为现在 cx_freeze 构建了一个运行良好的 exe。不确定我之前安装的 Anaconda 发生了什么。

希望这能帮助别人,因为它把我逼到了墙角!

【讨论】:

以上是关于cx freeze exe 未运行(没有任何反应)的主要内容,如果未能解决你的问题,请参考以下文章

使用 cx_freeze 为 tkinter 接口创建 .exe 文件

执行 cx_Freeze setup.py 后,cmd 中没有任何反应

cx_Freeze - 从桌面快捷方式运行 .exe 时出错

cx_Freeze 生成的可执行文件无法打开

cx_Freeze 没有名为“Tkinter”的模块

cx_freeze 的 exe 错误