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

前端之家收集整理的这篇文章主要介绍了为python独立可执行文件创建插件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如何为使用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

猜你在找的Python相关文章