python - 我可以使用 zipimport 来发送嵌入式 python 吗?

标签 python delphi freepascal embedded-language

目前,我正在使用我的应用程序部署完整的 python 发行版(原始 python 2.7 msi)。这是一个用delphi制作的嵌入式Web服务器。

Reading this ,我想知道是否可以在我的应用程序中嵌入必要的 python 文件,以减少负载文件并避免与多个 python 版本发生冲突。

我以前有过 python for delphi 的经验所以我只需要知道仅使用发行版+自己的脚本传送 python dll + zip 是否可以工作(如果存在我必须知道的任何警告或我可以查看的示例)

最佳答案

zipimport 应该适合你——我不熟悉 Delphi 的 Python,但我怀疑它会禁用该功能(嵌入应用程序可以做到这一点) ,但这是一个不寻常的选择)。请记住,您可以直接压缩并导入的是 Python 编码的模块(或者只是它们相应的 .pyc.pyo 字节代码)——DLL(即使重命名为 .pyds;-) 需要在磁盘上加载(因此,如果您有一个 zip 文件,则需要在应用程序启动时将其解压缩,例如解压缩到临时目录中)。

此外,您甚至不需要压缩所有模块,只需压缩那些您实际需要的模块(通过传递闭包)——您可以轻松地准确找到这些是哪些模块,带有 modulefinder标准Python库的模块。我刚才指出的文档页面上的示例应该可以澄清一些事情。快乐压缩!

关于python - 我可以使用 zipimport 来发送嵌入式 python 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3199707/

相关文章:

forms - 为什么拉撒路的一些属性突出显示为红色

c++ - 屏幕录像机

python - 生成元组的修改副本

python - 获取 QPolygonF 的顶点

python - Matplotlib 无法绘制 x 标签

python - 将字符串文本文件(不是精确的字典格式)转换为具有元组键和浮点值的字典?

delphi - 如何在Delphi调用堆栈窗口中隐藏 'non-user'堆栈帧?

delphi - Inno Setup ComponentsList OnClick 事件

windows - 如何禁用delphi形式的所有操作

c# - 使用 mono 中的 freepascal 库 (.dylib)