Changes in / [063dd44:ba22344] in sasview
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
check_packages.py
rf433e6a r131d94b 2 2 Checking and reinstalling the external packages 3 3 """ 4 from __future__ import print_function 5 4 import os 6 5 import sys 7 6 … … 15 14 sys.modules['Image'] = PIL.Image 16 15 17 if sys.version_info[0] > 2:18 print("To use the sasview GUI you must use Python 2\n")19 16 20 17 common_required_package_list = { 21 'setuptools': {'version': '0.6c11', 'import_name': 'setuptools', 'test':'__version__'},22 'pyparsing': {'version': '1.5.5', 'import_name': 'pyparsing', 'test':'__version__'},23 'html5lib': {'version': '0.95', 'import_name': 'html5lib', 'test':'__version__'},24 'reportlab': {'version': '2.5', 'import_name': 'reportlab', 'test':'Version'},25 'h5py': {'version': '2.5', 'import_name': 'h5py', 'test':'__version__'},26 'lxml': {'version': '2.3', 'import_name': 'lxml.etree', 'test':'LXML_VERSION'},27 'PIL': {'version': '1.1.7', 'import_name': 'Image', 'test':'VERSION'},28 'pylint': {'version': None, 'import_name': 'pylint', 'test':None},29 'periodictable': {'version': '1.3.0', 'import_name': 'periodictable', 'test':'__version__'},30 'bumps': {'version': '0.7.5.9', 'import_name': 'bumps', 'test':'__version__'},31 'numpy': {'version': '1.7.1', 'import_name': 'numpy', 'test':'__version__'},32 'scipy': {'version': '0.18.0', 'import_name': 'scipy', 'test':'__version__'},33 'wx': {'version': '2.8.12.1', 'import_name': 'wx', 'test':'__version__'},34 'matplotlib': {'version': '1.1.0', 'import_name': 'matplotlib', 'test':'__version__'},35 'xhtml2pdf': {'version': '3.0.33', 'import_name': 'xhtml2pdf', 'test':'__version__'},36 'sphinx': {'version': '1.2.1', 'import_name': 'sphinx', 'test':'__version__'},37 'unittest-xml-reporting': {'version': '1.10.0', 'import_name': 'xmlrunner', 'test':'__version__'},38 'pyopencl': {'version': '2015.1', 'import_name': 'pyopencl', 'test':'VERSION_TEXT'},18 'setuptools':{'version':'0.6c11','import_name':'setuptools','test':'__version__'}, 19 'pyparsing':{'version':'1.5.5','import_name':'pyparsing','test':'__version__'}, 20 'html5lib':{'version':'0.95','import_name':'html5lib','test':'__version__'}, 21 'reportlab':{'version':'2.5','import_name':'reportlab','test':'Version'}, 22 'h5py':{'version':'2.5','import_name':'h5py','test':'__version__'}, 23 'lxml':{'version':'2.3','import_name':'lxml.etree','test':'LXML_VERSION'}, 24 'PIL':{'version':'1.1.7','import_name':'Image','test':'VERSION'}, 25 'pylint':{'version':None,'import_name':'pylint','test':None}, 26 'periodictable':{'version':'1.3.0','import_name':'periodictable','test':'__version__'}, 27 'bumps':{'version':'0.7.5.9','import_name':'bumps','test':'__version__'}, 28 'numpy':{'version':'1.7.1','import_name':'numpy','test':'__version__'}, 29 'scipy':{'version':'0.18.0','import_name':'scipy','test':'__version__'}, 30 'wx':{'version':'2.8.12.1','import_name':'wx','test':'__version__'}, 31 'matplotlib':{'version':'1.1.0','import_name':'matplotlib','test':'__version__'}, 32 'xhtml2pdf':{'version':'3.0.33','import_name':'xhtml2pdf','test':'__version__'}, 33 'sphinx':{'version':'1.2.1','import_name':'sphinx','test':'__version__'}, 34 'unittest-xml-reporting':{'version':'1.10.0','import_name':'xmlrunner','test':'__version__'}, 35 'pyopencl':{'version':'2015.1','import_name':'pyopencl','test':'VERSION_TEXT'}, 39 36 } 40 37 win_required_package_list = { 41 'comtypes': {'version': '0.6.2', 'import_name': 'comtypes', 'test':'__version__'},42 'pywin': {'version': '217', 'import_name': 'pywin', 'test':'__version__'},43 'py2exe': {'version': '0.6.9', 'import_name': 'py2exe', 'test':'__version__'},38 'comtypes':{'version':'0.6.2','import_name':'comtypes','test':'__version__'}, 39 'pywin':{'version':'217','import_name':'pywin','test':'__version__'}, 40 'py2exe':{'version':'0.6.9','import_name':'py2exe','test':'__version__'}, 44 41 } 45 42 mac_required_package_list = { 46 'py2app': {'version': None, 'import_name': 'py2app', 'test':'__version__'},43 'py2app':{'version':None,'import_name':'py2app','test':'__version__'}, 47 44 } 48 45 49 46 deprecated_package_list = { 50 'pyPdf': {'version': '1.13', 'import_name': 'pyPdf', 'test':'__version__'},47 'pyPdf':{'version':'1.13','import_name':'pyPdf','test':'__version__'}, 51 48 } 52 49 53 print ("Checking Required Package Versions....\n")54 print ("Common Packages")55 56 for package_name, test_vals in common_required_package_list.items():50 print "Checking Required Package Versions...." 51 print 52 print "Common Packages" 53 for package_name,test_vals in common_required_package_list.iteritems(): 57 54 try: 58 i = __import__(test_vals['import_name'], 55 i = __import__(test_vals['import_name'],fromlist=['']) 59 56 if test_vals['test'] == None: 60 print ("%s Installed (Unknown version)" % package_name)57 print "%s Installed (Unknown version)" % package_name 61 58 elif package_name == 'lxml': 62 verstring = str(getattr(i, 63 print ("%s Version Installed: %s"% (package_name, verstring.replace(', ', '.').lstrip('(').rstrip(')')))59 verstring = str(getattr(i,'LXML_VERSION')) 60 print "%s Version Installed: %s"% (package_name,verstring.replace(', ','.').lstrip('(').rstrip(')')) 64 61 else: 65 print ("%s Version Installed: %s"% (package_name, getattr(i, test_vals['test'])))66 except ImportError:67 print ('%s NOT INSTALLED'% package_name)62 print "%s Version Installed: %s"% (package_name,getattr(i,test_vals['test'])) 63 except: 64 print '%s NOT INSTALLED'% package_name 68 65 69 66 if sys.platform == 'win32': 70 print ("")71 print ("Windows Specific Packages:")72 for package_name, test_vals in win_required_package_list.items():67 print 68 print "Windows Specific Packages:" 69 for package_name,test_vals in win_required_package_list.iteritems(): 73 70 try: 74 71 if package_name == "pywin": 75 72 import win32api 76 fixed_file_info = win32api.GetFileVersionInfo(win32api.__file__, 77 print ("%s Version Installed: %s"% (package_name, fixed_file_info['FileVersionLS'] >> 16))73 fixed_file_info = win32api.GetFileVersionInfo(win32api.__file__,'\\') 74 print "%s Version Installed: %s"% (package_name,fixed_file_info['FileVersionLS'] >> 16) 78 75 else: 79 i = __import__(test_vals['import_name'], 80 print ("%s Version Installed: %s"% (package_name, getattr(i, test_vals['test'])))81 except ImportError:82 print ('%s NOT INSTALLED'% package_name)76 i = __import__(test_vals['import_name'],fromlist=['']) 77 print "%s Version Installed: %s"% (package_name,getattr(i,test_vals['test'])) 78 except: 79 print '%s NOT INSTALLED'% package_name 83 80 84 81 if sys.platform == 'darwin': 85 print ("")86 print ("MacOS Specific Packages:")87 for package_name, test_vals in mac_required_package_list.items():82 print 83 print "MacOS Specific Packages:" 84 for package_name,test_vals in mac_required_package_list.iteritems(): 88 85 try: 89 i = __import__(test_vals['import_name'], 90 print ("%s Version Installed: %s"% (package_name, getattr(i, test_vals['test'])))91 except ImportError:92 print ('%s NOT INSTALLED'% package_name)86 i = __import__(test_vals['import_name'],fromlist=['']) 87 print "%s Version Installed: %s"% (package_name,getattr(i,test_vals['test'])) 88 except: 89 print '%s NOT INSTALLED'% package_name 93 90 94 91 95 print ("")96 print ("Deprecated Packages")97 print ("You can remove these unless you need them for other reasons!")98 for package_name, test_vals in deprecated_package_list.items():92 print 93 print "Deprecated Packages" 94 print "You can remove these unless you need them for other reasons!" 95 for package_name,test_vals in deprecated_package_list.iteritems(): 99 96 try: 100 i = __import__(test_vals['import_name'], 97 i = __import__(test_vals['import_name'],fromlist=['']) 101 98 if package_name == 'pyPdf': 102 # 103 print ('pyPDF Installed (Version unknown)')99 #pyPdf doesn't have the version number internally 100 print 'pyPDF Installed (Version unknown)' 104 101 else: 105 print ("%s Version Installed: %s"% (package_name, getattr(i, test_vals['test'])))106 except ImportError:107 print ('%s NOT INSTALLED'% package_name)102 print "%s Version Installed: %s"% (package_name,getattr(i,test_vals['test'])) 103 except: 104 print '%s NOT INSTALLED'% package_name
Note: See TracChangeset
for help on using the changeset viewer.