gpt4 book ai didi

python - 为 python 独立可执行文件创建插件

转载 作者:太空狗 更新时间:2023-10-30 01:17:46 26 4
gpt4 key购买 nike

如何为使用 pyInstaller、py2exe 或类似工具创建的独立可执行文件创建一个好的插件引擎?

我没有使用 py2exe 的经验,但是 pyInstaller 使用导入 Hook 从它的压缩存储库中导入包。当然,我可以动态导入另一个使用 pyInstaller 创建的压缩存储库并执行代码 - 这可能是一个简单的插件引擎。

当插件(这是动态导入的)使用原始存储库中不存在的库(从未导入)时会出现问题。这是因为 import hook 是针对原始应用程序并在原始存储库中搜索包 - 而不是后来导入的包(插件包存储库)。

有没有简单的方法可以解决这个问题?也许存在这样的引擎?

最佳答案

编译成exe的时候会出现这个问题。

我能想到的允许用户使用他们的插件访问任何 python 库的唯一选择是将所有库包含在 exe 包中。

将受支持的库限制为一个子集并在您的文档中列出它可能是个好主意。由你决定。

我只用过py2exe。

在 py2exe 中,您可以在 setup.py 文件中指定未在搜索中找到的库。

这是一个示例:

from distutils.core import setup
import py2exe

setup (name = "script2compile",
console=['script2compile.pyw'],
version = "1.4",
author = "me",
author_email="somemail@me.com",
url="myurl.com",
windows = [{
"script":"script2compile.pyw",
"icon_resources":[(1,"./ICONS/app.ico")] # Icon file to use for display
}],
# put packages/libraries to include in the "packages" list
options = {"py2exe":{"packages": [ "pickle",
"csv",
"Tkconstants",
"Tkinter",
"tkFileDialog",
"pyexpat",
"xml.dom.minidom",
"win32pdh",
"win32pdhutil",
"win32api",
"win32con",
"subprocess",
]}}

)

import win32pdh
import win32pdhutil
import win32api

关于python - 为 python 独立可执行文件创建插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/307338/

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