gpt4 book ai didi

python - py2exe:为什么不包括一些标准模块?

转载 作者:可可西里 更新时间:2023-11-01 09:21:38 28 4
gpt4 key购买 nike

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

我刚刚花了 2 个小时搜索为什么我的插件 python 文件无法从 .exe 版本正确加载。我收到一个导入错误:“没有名为 urllib2 的模块”看来我的插件正在使用 urllib2(通过 import urllib2 语句),并且该标准库模块显然没有捆绑到 exe 中。插件中使用的其他模块(reurllib、...)没问题,但也许它们已经被我静态包含在我的程序中的 python 文件中引用了。

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

最佳答案

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

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

如果您需要添加特定的包 - 将其添加到“包”列表中。

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

关于python - py2exe:为什么不包括一些标准模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6084632/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com