[python-win32] Compiling Python code to DLLs: Any way to do this

Ti Crossman ti.crossman at myfairpoint.net
Sun Nov 8 06:20:46 CET 2009


Hello, all.  I have a need to create application extensions for ESRI ArcGIS geographic information system software.  ArcGIS is built from the ground up using COM technology.  Supposedly, one can program against the (absolutely enormous) ArcObjects object model with any COM-compliant language.  From what I understand, that includes Python -- with the pywin32 extensions, of course.  Now, the real trick here is that the extension must be compiled into a DLL (and must implement the IExension interface) for ArcGIS to recognize it as an extension.

So, making the whopping assumption that I can pull off such a coding feat with Python (2.5.1 in this case), I have one main question:  is there a way to compile my Python code into a DLL that will work for me?

I did some reading up on py2exe and gather that it will compile Pyhton modules to DLLs; however, I also saw a reference to COM DLLs vs. C-type DLLs and whether or not they have random entry points.  This is out of my league, I'm afraid.  Long ago, I used to write extensions for ArcGIS using VB6 in MS Visual Studio -- fast, easy, and powerful, and DLLs were native; however, I can't say that I know which of the two types of DLLs I was producing.  Now, ESRI and Microsoft are not supporting VB6 anymore, and I don't know C/C++, .NET, or any other compiled COM-compliant language.  I'm simply not a trained programmer.  Besides, I don't have access to a modern version of MSVS.  I _have_ been trying out Python recently (love it), and with wxPython and other do-dads, I can make some really nice applications.  I would love to be able to write ArcGIS extensions in Python, but the DLL thing is a deal-breaker if I can't make one from the Python code.

My system:

Windows XP
ArcGIS 9.3 (for those for whom this means anything)
Python 2.5.1 (has to be this version:  comes with ArcGIS, and ArcGIS is dependent on it)
pywin32
wxPython 2.8
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-win32/attachments/20091108/3bd809b1/attachment.htm>


More information about the python-win32 mailing list