我终于得到了这个工作。原来,我在原始安装文件中存在一些错误,其中一些完全是愚蠢的,而某些仅反映了我对setup命令的参数如何工作缺乏理解。我将补充说,后一类错误只能通过一些福尔摩斯式的侦查和简单的旧式尝试和错误来解决。我的意思是,我还没有找到任何文件说明setup命令参数的含义和用法。如果有人拥有该信息并且可以通过它,将不胜感激。
以此为背景,这里是答案:
有两个基本问题:
上述安装文件中的软件包列表很不完整。我仍然不确定规则是否必须列出程序所依赖的每个软件包,以及它可能不依赖的某些软件包(例如pytz)。但是当我这样做的时候,我当时有了一些可以最终开始工作的东西。
上述原始问题中的错误消息看起来像我的程序依赖于称为“ patsy”的事物。这让我感到困惑,因为我不知道那是什么。事实证明,statsmodels(这是我的项目的核心)对patsy具有依赖性,因此需要将其包括在“包”列表中。
下面是最终可用的安装文件。我希望对修补程序背后的逻辑的这种描述对其他面临相同问题的人有所帮助。
from distutils.core import setupimport py2exefrom distutils.filelist import findallimport osimport matplotlibmatplotlibdatadir = matplotlib.get_data_path()matplotlibdata = findall(matplotlibdatadir)setup( console=['DET14.py'], options={ 'py2exe': { 'packages' : ['matplotlib', 'pytz','easygui', 'statsmodels','pandas','patsy'], 'dll_excludes':['MSVCP90.DLL', 'libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll', 'libgdk_pixbuf-2.0-0.dll'], 'includes':['scipy.sparse.csgraph._validation', 'scipy.special._ufuncs_cxx'] } }, data_files=matplotlib.get_py2exe_datafiles())


