Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

py2exe to generate dlls?

Is there a way using py2exe or some other method to generate dll files instead of exe files?

I would want to basically create a normal win32 dll with normal functions but these functions would be coded in python instead of c++.

like image 701
Brian R. Bondy Avatar asked Feb 15 '09 07:02

Brian R. Bondy


2 Answers

I think you could solve this by doing some hacking:

  • Take a look at the zipextimporter module in py2exe . It helps with importing pyd-files from a zip.
  • Using that, you might be able to load py2exe's output file in your own app/dll using raw python-api. (Use boost::python if you can and want)
  • And, since py2exe's outputfile is a zip, you could attach it at the end of your dll, making the whole thing even more integrated. (Old trick that works with jar-files too.)

Not tested, but I think the theory is sound.

Essentially, you reimplement py2exe's output executable's main() in your dll.

like image 61
Macke Avatar answered Nov 03 '22 23:11

Macke


I doubt that py2exe does this, as it's architectured around providing a bootstrapping .exe that rolls out the python interpreter and runs it.

But why not just embed Python in C code, and compile that code as a DLL?

like image 42
Eli Bendersky Avatar answered Nov 03 '22 23:11

Eli Bendersky