gpt4 book ai didi

python - 我可以压缩所有 python 标准库并且 python 仍然能够导入它吗?

转载 作者:太空宇宙 更新时间:2023-11-03 14:35:40 25 4
gpt4 key购买 nike

我读过一个教程,您可以将所有 libs 文件编译为 .pyc,然后将所有 .pyc 打包为压缩文件。然后 python 仍然像魔法一样发挥作用,而且它变得明显变小了。但是当我将所有 .pyc 文件压缩为 python36.zip 并将它们保存在/lib/python3.6 下时。尝试启动 python,python 说找不到模块编解码器。

我做错了什么?有人可以解释一下这实际上有效吗?

最佳答案

要从 .zip 文件导入模块,you need to add that file to sys.path - 然后它将充当搜索目录。完成这项工作的 zipimport 模块是一个内置模块。

<小时/>

sys.path 的构造如下:

<小时/>

因此,您可以将所有标准模块移至预定义的 .zip 文件中。但如果 sys.prefixsys.exec_prefix,您可能需要保留 os.pylib-dynload之后变为空白(内容无关,移动的模块将从 .zip 导入,因为它位于 sys.path 的较早位置),否则您将失去对所有内容的访问权限3rd 方模块。

sys.path 中有自己的条目的子目录需要单独处理,以便仍然可以在 sys.path 上找到它们的内容。

(在 Python 2.7-win32 中测试)

<小时/>

虽然将 .pyc 文件添加到存档中就足够了,但 pdb 和堆栈跟踪将毫无用处,除非您也将 .py 放在那里.

关于python - 我可以压缩所有 python 标准库并且 python 仍然能够导入它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46969136/

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