import sys
import os

def upgrade_python():
    try:
        python_interpreter = "/home/eastagingstorm/public_html/exenv/bin/python3.9"
        if sys.executable != python_interpreter:
            print('switching from ' + sys.version + ' to ' + python_interpreter + '...')
    
            print('directory: ' + os.path.dirname(__file__))
            print('file: ' + __file__)
            print('arg 0: ' + sys.argv[0])
    
            # rebuild the env path variable
            print('old system path:\n' + "\n".join(str(x) for x in sys.path))
            print('\n')
            for x in sys.path:
                sys.path.remove(x)
    
            sys.path.append('/opt/cpanel/ea-ruby27/root/usr/share/passenger/helper-scripts')
            # App 3956 output: /usr/lib/python2.7/site-packages/pyzor-1.0.0-py2.7.egg
            # App 3956 output: /usr/lib64/python27.zip
            # App 3956 output: /usr/lib64/python2.7
            sys.path.append('/home/eastagingstorm/public_html/exenv/lib64/python3.9')
            # App 3956 output: /usr/lib64/python2.7/plat-linux2
            # App 3956 output: /usr/lib64/python2.7/lib-tk
            # App 3956 output: /usr/lib64/python2.7/lib-old
            # App 3956 output: /usr/lib64/python2.7/lib-dynload
            # App 3956 output: /home/username/.local/lib/python2.7/site-packages
            # App 3956 output: /usr/lib64/python2.7/site-packages
            sys.path.append('/home/eastagingstorm/public_html/exenv/lib64/python3.9/site-packages')
            # App 3956 output: /usr/lib64/python2.7/site-packages/gtk-2.0
            # App 3956 output: /usr/lib/python2.7/site-packages
            sys.path.append('/home/eastagingstorm/public_html/exenv/lib/python3.9/site-packages')
            sys.path.append('/home/eastagingstorm/public_html/exenv/bin')
            print('new system path:\n' + "\n".join(str(x) for x in sys.path))
            print('\n')
            
            os.execl(python_interpreter, python_interpreter, *sys.argv)
        else:
            print('...continuing with ' + sys.executable)

    except Exception as e:
        print(str(e))