1
1
import sys , glob , os , subprocess
2
2
3
- major , minor1 , minor2 , s , tmp = sys .version_info
4
- if major == 2 and minor1 < 4 or major < 2 :
3
+ if sys .version_info < (2 , 4 ):
5
4
raise SystemExit ("""matplotlib and the basemap toolkit require Python 2.4 or later.""" )
6
5
7
6
from distutils .dist import Distribution
@@ -81,57 +80,26 @@ def checkversion(GEOS_dir):
81
80
geos_include_dirs = [os .path .join (GEOS_dir ,'include' ),inc_dirs ]
82
81
geos_library_dirs = [os .path .join (GEOS_dir ,'lib' ),os .path .join (GEOS_dir ,'lib64' )]
83
82
84
- # proj4 and geos extensions.
85
- deps = glob .glob ('src/*.c' )
86
- deps .remove (os .path .join ('src' ,'_proj.c' ))
87
- deps .remove (os .path .join ('src' ,'_geoslib.c' ))
88
-
89
83
packages = ['mpl_toolkits' ,'mpl_toolkits.basemap' ]
90
84
namespace_packages = ['mpl_toolkits' ]
91
85
package_dirs = {'' :'lib' }
92
- extensions = [Extension ("mpl_toolkits.basemap._proj" ,deps + ['src/_proj.c' ],include_dirs = ['src' ],)]
93
- # can't install _geoslib in mpl_toolkits.basemap namespace,
94
- # or Basemap objects won't be pickleable.
95
- if sys .platform == 'win32' :
96
- # don't use runtime_library_dirs on windows (workaround
97
- # for a distutils bug - http://bugs.python.org/issue2437).
98
- #extensions.append(Extension("mpl_toolkits.basemap._geoslib",['src/_geoslib.c'],
99
- extensions .append (Extension ("_geoslib" ,['src/_geoslib.c' ],
100
- library_dirs = geos_library_dirs ,
101
- include_dirs = geos_include_dirs ,
102
- libraries = ['geos' ]))
103
- else :
104
- #extensions.append(Extension("mpl_toolkits.basemap._geoslib",['src/_geoslib.c'],
105
- extensions .append (Extension ("_geoslib" ,['src/_geoslib.c' ],
106
- library_dirs = geos_library_dirs ,
107
- runtime_library_dirs = geos_library_dirs ,
108
- include_dirs = geos_include_dirs ,
109
- libraries = ['geos_c' ]))
110
86
111
87
# Specify all the required mpl data
112
88
# create pyproj binary datum shift grid files.
113
89
pathout = \
114
90
os .path .join ('lib' ,os .path .join ('mpl_toolkits' ,os .path .join ('basemap' ,'data' )))
115
- if sys .argv [1 ] not in ['sdist' ,'clean' ]:
116
- cc = ccompiler .new_compiler ()
117
- sysconfig .get_config_vars ()
118
- sysconfig .customize_compiler (cc )
119
- cc .set_include_dirs (['src' ])
120
- objects = cc .compile (['nad2bin.c' , 'src/pj_malloc.c' ])
121
- execname = 'nad2bin'
122
- cc .link_executable (objects , execname )
123
- llafiles = glob .glob ('datumgrid/*.lla' )
124
- cmd = os .path .join (os .getcwd (),execname )
125
- for f in llafiles :
126
- fout = os .path .basename (f .split ('.lla' )[0 ])
127
- fout = os .path .join (pathout ,fout )
128
- strg = '%s %s < %s' % (cmd , fout , f )
129
- sys .stdout .write ('executing %s\n ' % strg )
130
- subprocess .call (strg ,shell = True )
91
+
131
92
datafiles = glob .glob (os .path .join (pathout ,'*' ))
132
93
datafiles = [os .path .join ('data' ,os .path .basename (f )) for f in datafiles ]
133
94
package_data = {'mpl_toolkits.basemap' :datafiles }
134
95
96
+ requirements = [
97
+ "numpy>=1.2.1" ,
98
+ "matplotlib>=1.0.0" ,
99
+ "pyproj >= 1.9.3" ,
100
+ "pyshp >= 1.2.0"
101
+ ]
102
+
135
103
__version__ = "1.0.8"
136
104
setup (
137
105
name = "basemap" ,
@@ -146,7 +114,7 @@ def checkversion(GEOS_dir):
146
114
download_url = "https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-{0}/basemap-{0}.tar.gz" .format (__version__ ),
147
115
author = "Jeff Whitaker" ,
148
116
author_email = "[email protected] " ,
149
- install_requires = [ "numpy>=1.2.1" , "matplotlib>=1.0.0" ] ,
117
+ install_requires = requirements ,
150
118
platforms = ["any" ],
151
119
license = "OSI Approved" ,
152
120
keywords = ["python" ,"plotting" ,"plots" ,"graphs" ,"charts" ,"GIS" ,"mapping" ,"map projections" ,"maps" ],
@@ -161,7 +129,6 @@ def checkversion(GEOS_dir):
161
129
packages = packages ,
162
130
namespace_packages = namespace_packages ,
163
131
package_dir = package_dirs ,
164
- ext_modules = extensions ,
165
132
cmdclass = {'build_py' : build_py },
166
133
package_data = package_data
167
134
)
0 commit comments