什么时候需要指定要包含的模块?是不是py2exe搜索并包含所需的任何内容:http://www.py2exe.org/index.cgi/FAQ?
为什么它包含未使用的模块,例如["Tkconstants","Tkinter","tcl","wx"](我使用Qt,但在我的电脑上安装了wx),然后需要被排除在外?
py2exe尝试从入口点脚本开始创建所有依赖项的图形.它不能总是100%正确,这就是为您提供微调包的原因includes和excludes选项.
请参阅此处的选项:http://www.py2exe.org/index.cgi/ListOfOptions
有时您不想要的模块会被包含在内,如果发生这种情况,只需将它们添加到排除中即可.我想你的问题的答案是:当开箱即用的选项没有按照你想要的方式打包时,手动管理setup.py.
py2exe的帮助文件实际上包含一些提示和技巧......一个专门解决您的问题包括Tk:http://www.py2exe.org/index.cgi/TkInter
提示和技巧的索引在这里:http://www.py2exe.org/index.cgi/Py2Exe
我使用与py2apposx 非常相似的应用程序构建了大量应用程序.在不同版本的过程中,有时它们会改变发现依赖关系的方式.它还使用各种"食谱"来处理像Qt这样的某些包.更新版本的p2app突然开始包括所有PyQt模块,而不仅仅是我使用的两个模块.所以,我不得不将它们添加到我的排除中.