我使用py2exe编译我的原型Application以检查其作为exe的函数,并在我启动它之前遇到0错误。什么都没发生。一个过程从我的应用程序名称开始,它会想几秒钟,然后什么都没有。没有生成日志文件。该应用程序在python环境中运行时效果很好,但在编译的exe中却没有。我已在下面提供了我的设置代码。有任何想法吗? :
from distutils.core import setup
import py2exe, sys, os
import matplotlib
import FileDialog
import dateutil
sys.argv.append('py2exe')
setup( windows=['ATLAS.pyw'], data_files=matplotlib.get_py2exe_datafiles(),
options = {"py2exe": {
"includes": "decimal, datetime",
"packages": ["FileDialog", "dateutil"],
'bundle_files': 2,
'compressed': True}
},
zipfile = None
)
应用程序中使用的挂钩:
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.backend_bases import key_press_handler
from pandas.sandbox.qtpandas import DataFrameWidget
from matplotlib.widgets import LassoSelector
from tkFileDialog import askopenfilename
from matplotlib.figure import Figure
import matplotlib.image as mpimg
from PySide import QtGui, QtCore
from matplotlib.path import Path
import pandas.io.sql as psql
from numpy import nonzero
import tkMessageBox as mb
from pylab import *
import pyodbc
import sys
import ttk
答案 0 :(得分:0)
解决:
因此,使用快速手指(并使用带有--debug
选项的PyInstaller进行编译),我屏蔽了包含Traceback的快速关闭控制台窗口:
WindowsError: [Error 3] The system cannot find the path specified: 'C:\\path\\dateutil\\zoneinfo/*.*'
zoneinfo
文件保存在pytz而不是dateutil中。快速重命名解决了这个问题。
只是问题,如果你想用-F
或--onefile
进行编译,由于最初的不正确的命名约定,它将无法工作。不太清楚如何解决这个问题。