uhz*_*uhz 5 python plugins py2exe pyinstaller
如何为使用pyInstaller,py2exe或类似工具创建的独立可执行文件创建一个好的插件引擎?
我没有使用py2exe的经验,但是pyInstaller使用导入钩子从它的压缩存储库导入包.当然,我能够动态导入另一个用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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2166 次 |
最近记录: |