有没有办法从Python模块构建类似C的DLL?
我有一个Python模块,除了常规的全局函数外什么都没有。我需要从另一个只能调用C DLL的业务域脚本环境调用它。是否有必要构建Python模块,以便对其他代码调用它,就像从DLL导出的标准C函数一样?这是针对Windows环境的。我知道IronPython,但据我所知,它只能构建.NET程序集,不能作为C DLL函数调用。看看Codeproject文章。一种方法是将python函数包装在C dll中,并将其公开给被调用方有没有办法从Python模块构建类似C的DLL?,python,Python,我有一个Python模块,除了常规的全局函数外什么都没有。我需要从另一个只能调用C DLL的业务域脚本环境调用它。是否有必要构建Python模块,以便对其他代码调用它,就像从DLL导出的标准C函数一样?这是针对Windows环境的。我知道IronPython,但据我所知,它只能构建.NET程序集,不能作为C DLL函数调用。看看Codeproject文章。一种方法是将python函数包装在C dll中,并将其公开给被调用方 COM是解决这个问题的二进制协议。但是您必须将这个python dll包
COM是解决这个问题的二进制协议。但是您必须将这个python dll包装在COM包装器中。并在调用端添加一些代码。标准解决方案是在应用程序中嵌入Python解释器(它已经是一个C DLL)
Py2exe可以通过编译和嵌入python代码+解释器,从python代码生成COM DLL。它目前还不支持常规DLL。为此,请参见Dirkgente关于自己嵌入python的回答