[Community] Windows installer - Re: Shapely 1.2 release planning

Jaakko Salli jaakko.salli at dnainternet.net
Wed Jul 14 18:02:38 EEST 2010


Hi Francis, Sean,

On 14.7.2010 13:27, Sean Gillies wrote:
> No, it's not in the repository. I think it's a good idea to get it up
> on Github or somewhere. The more Windows packagers, the better :)
> 
> On Wed, Jul 14, 2010 at 3:42 AM, Francis Markham <fmarkham at gmail.com> wrote:
>> Hi Sean, Jaakko,
>>
>> Is there source-code available for the Windows installer?  I can't
>> find it in the repository.
>>

Sorry, I'm not sure what you mean by installer source code,
exactly. At least I've been building the binaries with only
slightly modified setup.py (for my own convenience, mostly).

diff --git a/setup.py b/setup.py
index 0ed51f1..a2371d2 100644
--- a/setup.py
+++ b/setup.py
@@ -44,8 +44,14 @@ setup_args = dict(

 # Add DLLs for Windows
 if sys.platform == 'win32':
-    setup_args.update(
-        data_files=[('DLLs', ['DLLs/geos.dll', 'DLLs/libgeos-3-0-0.dll']),]
-        )
+    import glob
+    if '64 bit (AMD64)' in sys.version:
+        setup_args.update(
+            data_files=[('DLLs', glob.glob('DLLs_AMD64/*.dll'))]
+            )
+    else:
+        setup_args.update(
+            data_files=[('DLLs', glob.glob('DLLs_x86/*.dll'))]
+            )

 setup(**setup_args)

The basic premise is that you should just copy whatever GEOS
DLLs you want to use into DLLs directory, then update setup.py
to match the files, and finally run

python setup.py bdist_wininst

Of course, modifying the setup.py bit could be bypassed by auto-
detecting the DLLs, using e.g. glob as in the above diff.

Regards,
  Jaakko


More information about the Community mailing list