我需要一种方法将整个Python标准库导入我的程序.
虽然这看起来似乎是一个坏主意,但我想这样做是因为py2exe会将整个标准库与我的程序打包在一起,所以我的用户可以在我给它们的shell中从中导入它.
是否有捷径可寻?
加分点:我希望这个动作不会导入我在site-packages中安装的软件包,而不是Python附带的软件包.但是,这并不重要.
解决方法:
嘿,我只想到了一些东西:我只需要stdlib中所有模块的列表,然后我会自动生成一个Python脚本,“手动”导入每个模块,如下所示:
import re
import math
import time
# ...
然后用我的程序包含它.
所以我现在需要的是一个易于格式化的stdlib中所有模块/包的列表.现在我怎么做到的?
更新:
我得到了这样的列表:我在虚拟机上安装了Python 2.6,然后在IDLE中运行:
import pkgutil
stuff = [thing[1] for thing in pkgutil.iter_modules()]
stuff.sort() # To make it easy to look through
print(stuff)
然后将输出复制粘贴到我的IDE中,并编写一个小脚本来编写:
if False:
import re
import email
import time
# ...
进入我在程序中导入的Python模块.
有用! py2exe打包整个stdlib.
更新:
我创建了一个执行此操作的包.我会在这里上传,但由于我没有看到任何上传按钮,你可以把它从我的项目文件夹中删除:
它位于文件夹src中,该包名为almostimportstdlib,并且已记录在案.
标签:python,import,packaging,py2exe
来源: https://codeday.me/bug/20190701/1344530.html