Python 为什么不包括一些标准模块?

Python 为什么不包括一些标准模块?,python,windows,py2exe,Python,Windows,Py2exe,我的python程序使用插件(python文件),我使用\uuuuu import\uuuu动态导入这些插件。 我使用py2exe将python程序捆绑到Windows exe中 我刚刚花了2个小时搜索了为什么我的插件python文件不能从.exe版本正确加载。我得到一个提示:“没有名为urllib2的模块” 看起来我的插件使用的是urllib2(通过import urllib2语句),而标准库模块显然没有绑定到exe中。插件中使用的其他模块(re,urllib,…)没有问题,但它们可能已经是我

我的python程序使用插件(python文件),我使用
\uuuuu import\uuuu
动态导入这些插件。 我使用py2exe将python程序捆绑到Windows exe中

我刚刚花了2个小时搜索了为什么我的插件python文件不能从.exe版本正确加载。我得到一个提示:“没有名为urllib2的模块” 看起来我的插件使用的是urllib2(通过
import urllib2
语句),而标准库模块显然没有绑定到exe中。插件中使用的其他模块(
re
urllib
,…)没有问题,但它们可能已经是我静态包含在程序中的python文件中的引用


我如何知道exe中默认使用哪些标准Python库模块py2exe捆绑包?(因此我知道我或其他人是否可以在插件中使用它们)。py2exe文档没有给出提示,只是它包含了标准库中的许多模块。

要查看包含哪些模块,请查看library.zip文件(如果没有library.zip文件,请尝试在任何zip应用程序中打开EXE,或者将其重命名为.zip并尝试打开)

您将能够看到*.pyc的列表。您可以查看文件和目录列表,以了解是否包含了哪些模块

如果需要添加特定的包,请将其添加到“包”列表中


至于为什么它不包含所有内容,或者它如何选择包含一些内容而不是其他内容?我的理解是,py2exe会查看您的代码以了解您正在使用什么,并包括这些(以及一些它可能需要自己使用的),但可能它也有一些启发式方法来添加其他模块(我没有选中:)

Nice,不知道exe是一个zip文件