2009-03-14 19 views
7

Tengo un módulo de Python con nada más que funciones globales regulares. Necesito llamarlo desde otro entorno de scripting de dominio de negocios que solo puede invocar DLL de C. ¿Hay alguna forma de construir mis módulos Python para que a otro código pueda llamarse como una función C estándar que se exporta desde una DLL? Esto es para un entorno de Windows. Soy consciente de IronPython, pero hasta donde yo sé, solo puede construir Assemblies .NET, que no se pueden llamar como funciones de C DLL.¿Hay alguna manera de construir una DLL tipo C desde un módulo de Python?

Respuesta

6

Eche un vistazo a this artículo de CodeProject. Una forma sería envolver sus funciones de python en un dll C y exponer esto al callee.

COM es un protocolo binario para resolver este problema. Pero tendrá que ajustar este dll de python en un contenedor COM. Y agrega un código en el lado de la llamada también.

2

py2exe puede generar archivos DLL COM desde código Python, mediante la compilación y la incrustación de código Python + intérprete. No es así, AFAIK, admite DLL regulares todavía. Para eso, consulte la respuesta de dirkgently sobre la incrustación de python usted mismo.

Cuestiones relacionadas