Changeset 2952 for install/bootstrap.py


Ignore:
Timestamp:
Jul 30, 2017 7:37:08 PM (4 years ago)
Author:
toby
Message:

GSASII installation: support downloading of all binaries

File:
1 edited

Legend:

Unmodified
Added
Removed
  • install/bootstrap.py

    r2887 r2952  
    231231print('\n'+75*'*')
    232232print(msg + u' from ' + cmd[2])
    233 print('  *** If GSAS-II fails to be installed, you likely have a network access')
    234 print('  *** problem, most commonly because you need to use a network proxy. Please')
    235 print('  *** check with a network administrator or use http://www.whatismyproxy.com/\n')
    236233print 'svn load command:'
    237234for item in cmd: print item,
    238235print ""
    239 p = subprocess.call(cmd)
    240 if p:
    241     print 'subversion returned an error; Retrying with command for older version...'
     236s = subprocess.Popen(cmd,stderr=subprocess.PIPE)
     237print('\nsubversion output:')
     238out,err = s.communicate()
     239if err:
     240    print('subversion returned an error:')
     241    print(err)
     242    print('Retrying with command for older svn version...')
    242243    cmd = [svn, 'co', g2home+ 'trunk/', gsaspath]
    243244    if proxycmds: cmd += proxycmds
    244245    for item in cmd: print item,
    245246    print ""
    246     p = subprocess.call(cmd)
     247    s = subprocess.Popen(cmd,stderr=subprocess.PIPE)
     248    out,err = s.communicate()
     249    if err:
     250        print('subversion returned an error:')
     251        print(err)
     252        print('  *** GSAS-II failed to be installed: you likely have a network access')
     253        print('  *** problem, most commonly because you need to use a network proxy. Please')
     254        print('  *** check with a network administrator or use http://www.whatismyproxy.com/\n')
     255        sys.exit()
    247256print('\n'+75*'*')
    248257
    249 #===========================================================================
    250 # test if the compiled files load correctly
    251 #===========================================================================
    252258try:
    253259    import GSASIIpath
     
    261267    sys.exit()
    262268
     269for a in sys.argv[1:]:
     270    if 'allbin' in a.lower() or 'server' in a.lower():
     271        print('Loading all binaries with command...')
     272        if not GSASIIpath.svnSwitchDir('AllBinaries','',g2home+ 'Binaries/',None,True):
     273            print('Binary load failed')
     274            sys.exit()
     275        break
     276else:
     277    GSASIIpath.DownloadG2Binaries(g2home)
     278       
     279#===========================================================================
     280# test if the compiled files load correctly
     281#===========================================================================
     282
    263283script = """  # commands that test each module can at least be loaded & run something in pyspg
    264284try:
    265285    import GSASIIpath
     286    GSASIIpath.SetBinaryPath()
    266287    import pyspg
    267288    import histogram2d
     
    274295    pass
    275296"""
    276 p = subprocess.Popen([sys.executable,'-c',script],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
     297p = subprocess.Popen([sys.executable,'-c',script],stdout=subprocess.PIPE,stderr=subprocess.PIPE,
     298                     cwd=gsaspath)
    277299res,err = p.communicate()
    278300if '==OK==' not in res or p.returncode != 0:
     
    313335elif sys.platform.startswith('darwin') and os.path.exists(
    314336    os.path.join(gsaspath,"makeMacApp.py")):
    315     print('running '+os.path.join(gsaspath,"makeMacApp.py"))
    316     execfile(os.path.join(gsaspath,"makeMacApp.py"))
     337    sys.argv = [os.path.join(gsaspath,"makeMacApp.py")]
     338    print(u'running '+sys.argv[0])
     339    execfile(sys.argv[0])
    317340#===========================================================================
    318341# On linux, make desktop icon
Note: See TracChangeset for help on using the changeset viewer.