标签:python import packaging py2exe
我需要一种方法将整个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.
更新:
我创建了一个执行此操作的包.我会在这里上传,但由于我没有看到任何上传按钮,你可以把它从我的项目文件夹中删除:
http://github.com/cool-RR/PythonTurtle/tree/master
它位于文件夹src中,该包名为almostimportstdlib,并且已记录在案.
标签:python,import,packaging,py2exe 来源: https://codeday.me/bug/20190701/1344530.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。