34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
#!/usr/bin/env python
 | 
						|
 | 
						|
import sys, os, os.path
 | 
						|
 | 
						|
progpath = sys.argv[0]
 | 
						|
packagedir = os.path.dirname(os.path.dirname(os.path.abspath(progpath)))
 | 
						|
packagename = os.path.basename(packagedir)
 | 
						|
bindir = os.path.join(packagedir, 'bin')
 | 
						|
if sys.platform == 'win32':
 | 
						|
    bindir = os.path.join(bindir, 'win32')
 | 
						|
rootdir = os.path.dirname(packagedir)
 | 
						|
 | 
						|
def prepend_path(name, value):
 | 
						|
    sep = os.path.pathsep
 | 
						|
    curpath = os.environ.get(name, '')
 | 
						|
    newpath = [value] + [ x for x in curpath.split(sep) if x and x != value ]
 | 
						|
    return setenv(name, sep.join(newpath))
 | 
						|
 | 
						|
def setenv(name, value):
 | 
						|
    shell = os.environ.get('SHELL', '')
 | 
						|
    comspec = os.environ.get('COMSPEC', '')
 | 
						|
    if shell.endswith('csh'):
 | 
						|
        cmd = 'setenv %s "%s"' % (name, value)
 | 
						|
    elif shell.endswith('sh'):
 | 
						|
        cmd = '%s="%s"; export %s' % (name, value, name)
 | 
						|
    elif comspec.endswith('cmd.exe'):
 | 
						|
        cmd = 'set %s=%s' % (name, value)
 | 
						|
    else:
 | 
						|
        assert False, 'Shell not supported.'
 | 
						|
    return cmd
 | 
						|
 | 
						|
print(prepend_path('PATH', bindir))
 | 
						|
print(prepend_path('PYTHONPATH', rootdir))
 |