我的目标是创建或重新捆绑可嵌入的zip,例如python dl页面https://www.python.org/downloads/windows/“ Windows x86-64可嵌入的zip文件”中的那个。
但是他们如何创建这样的zip?我找不到脚本或有关如何执行操作的任何文档。我还尝试通过生成pyc文件并将其复制到zip文件中来对其进行扩展,但这到目前为止还行不通。
生成的pyc文件(使用python -m compileall创建)也与zip文件略有不同。例如,他们没有完整的路径作为注释。
理想情况下,我会通过pip安装一些软件包,然后将其重新捆绑在zip内。
提前谢谢
编辑: 我想知道如何创建python36.zip(位于Windows x86-64可嵌入zip内)
答案 0 :(得分:1)
这是您可以执行的操作,提取Python可嵌入的zip文件。 它具有文件pythonxx._pth。此文件包含目录/ zip文件的列表,嵌入式python使用该目录/ zip文件查找模块,即用于设置sys.path。 例如,我已经将3.6嵌入式版本提取到E:\ dev文件夹中。
PS C:\Users\user2> get-content E:\dev\python-3.6.5-embed-amd64\python36._pth
python36.zip
.
# Uncomment to run site.main() automatically
#import site
sys.path会反映出同一件事
PS C:\Users\user2> python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
>>> import sys
>>> sys.path
['E:\\dev\\python-3.6.5-embed-amd64\\python36.zip', 'E:\\dev\\python-3.6.5-embed-amd64']
>>>
现在我要做的就是在E:\ dev \ python-3.6.5-embed-amd64中创建一个新目录或zip文件,其中包含我的所有模块,并将该目录添加到python36._pth文件中。 完成所有测试后,我可以压缩文件夹E:\ dev \ python-3.6.5-embed-amd64,该文件夹可用于部署Python并准备好所有需要导入的模块。