← Back to team overview

aesthete-team team mailing list archive

Patch: setup.py

 

Hi all,

Please find attached a patch which adds some level of dependency checking to setup.py.

Comments welcome,

Chris.
=== modified file 'setup.py'
--- setup.py	2011-06-06 03:28:33 +0000
+++ setup.py	2011-06-19 23:36:39 +0000
@@ -1,4 +1,4 @@
-import os
+import os, sys, imp
 from distutils.core import setup
 from distutils.command.install import INSTALL_SCHEMES
 
@@ -15,6 +15,15 @@
 help_files = map(lambda e : 'help/'+e, os.listdir('./help'))
 defs_files = map(lambda e : 'defs/'+e, os.listdir('./defs'))
 
+# Check dependencies, bail if not present
+package_deps = [['numpy', '1.4.1'], ['scipy', '0.7.2'], ['sympy', '0.6.7'], ['cairo', '1.8.8'], ['gobject', '2.21.5'], ['gtk', '2.17.0'], \
+			['Image', '1.1.7']]
+for package_dep in package_deps :
+	try :
+		imp.find_module(package_dep[0])	
+	except ImportError :
+		sys.exit(package_dep[0] + ' ' + package_dep[1] + ' or higher is required to use aesthete')
+
 setup(name=name,\
       version=version_number,\
       description=description,\
@@ -27,5 +36,6 @@
 		  ('share/aesthete/defs', defs_files),\
 		  ('share/aesthete/details', ['details']),\
 		  ('share/aesthete/help', help_files),\
-		  ('share/aesthete/images/great_wave', ['images/great_wave/great_wave.svg'])]
+		  ('share/aesthete/images/great_wave', ['images/great_wave/great_wave.svg'])], \
+		requires=['numpy', 'scipy', 'sympy', 'cairo', 'gobject', 'gtk', 'Image']
      )