Only in b/virtualenv-1.3.3: out.diff diff -ur a/virtualenv-1.3.3/support-files/activate.sh b/virtualenv-1.3.3/support-files/activate.sh --- a/virtualenv-1.3.3/support-files/activate.sh 2009-03-12 19:22:13.000000000 +0100 +++ b/virtualenv-1.3.3/support-files/activate.sh 2009-04-04 11:07:44.506072634 +0200 @@ -35,7 +35,7 @@ export VIRTUAL_ENV _OLD_VIRTUAL_PATH="$PATH" -PATH="$VIRTUAL_ENV/__BIN_NAME__:$PATH" +PATH="$VIRTUAL_ENV/__BIN_NAME__:$VIRTUAL_ENV/local/__BIN_NAME__:$PATH" export PATH _OLD_VIRTUAL_PS1="$PS1" Only in a/virtualenv-1.3.3/support-files: setuptools-0.6c9-py2.4.egg Only in a/virtualenv-1.3.3/support-files: setuptools-0.6c9-py2.5.egg Only in a/virtualenv-1.3.3/support-files: setuptools-0.6c9-py2.6.egg diff -ur a/virtualenv-1.3.3/support-files/site.py b/virtualenv-1.3.3/support-files/site.py --- a/virtualenv-1.3.3/support-files/site.py 2009-03-12 19:22:13.000000000 +0100 +++ b/virtualenv-1.3.3/support-files/site.py 2009-04-04 12:17:54.582109152 +0200 @@ -212,10 +212,14 @@ "python" + sys.version[:3], "site-packages")] elif os.sep == '/': + if sys.version_info[:2] == (2, 6): + sitedir = 'dist-packages' + else: + sitedir = 'site-packages' sitedirs = [os.path.join(prefix, "lib", "python" + sys.version[:3], - "site-packages"), + sitedir), os.path.join(prefix, "lib", "site-python"), os.path.join(prefix, "python" + sys.version[:3], "lib-dynload")] lib64_dir = os.path.join(prefix, "lib64", "python" + sys.version[:3], "site-packages") diff -ur a/virtualenv-1.3.3/virtualenv.py b/virtualenv-1.3.3/virtualenv.py --- a/virtualenv-1.3.3/virtualenv.py 2009-03-12 19:22:13.000000000 +0100 +++ b/virtualenv-1.3.3/virtualenv.py 2009-04-04 12:31:52.966083130 +0200 @@ -243,61 +243,39 @@ os.chmod(fn, newmode) logger.info('Changed mode of %s to %s', fn, oct(newmode)) -def install_setuptools(py_executable, unzip=False): - setup_fn = 'setuptools-0.6c9-py%s.egg' % sys.version[:3] - search_dirs = ['.', os.path.dirname(__file__), join(os.path.dirname(__file__), 'support-files')] - if os.path.splitext(os.path.dirname(__file__))[0] != 'virtualenv': - # Probably some boot script; just in case virtualenv is installed... - try: - import virtualenv - except ImportError: - pass - else: - search_dirs.append(os.path.join(os.path.dirname(virtualenv.__file__), 'support-files')) - for dir in search_dirs: - if os.path.exists(join(dir, setup_fn)): - setup_fn = join(dir, setup_fn) - break - if is_jython and os._name == 'nt': - # Jython's .bat sys.executable can't handle a command line - # argument with newlines - import tempfile - fd, ez_setup = tempfile.mkstemp('.py') - os.write(fd, EZ_SETUP_PY) - os.close(fd) - cmd = [py_executable, ez_setup] - else: - cmd = [py_executable, '-c', EZ_SETUP_PY] - if unzip: - cmd.append('--always-unzip') - env = {} - if logger.stdout_level_matches(logger.DEBUG): - cmd.append('-v') - if os.path.exists(setup_fn): - logger.info('Using existing Setuptools egg: %s', setup_fn) - cmd.append(setup_fn) - if os.environ.get('PYTHONPATH'): - env['PYTHONPATH'] = setup_fn + os.path.pathsep + os.environ['PYTHONPATH'] - else: - env['PYTHONPATH'] = setup_fn - else: - logger.info('No Setuptools egg found; downloading') - cmd.extend(['--always-copy', '-U', 'setuptools']) - logger.start_progress('Installing setuptools...') - logger.indent += 2 - cwd = None - if not os.access(os.getcwd(), os.W_OK): - cwd = '/tmp' +def install_setuptools(py_executable, bin_dir): + # We are not using setuptools distributed with virtualenv due to + # changes in Ubuntu Python 2.6 modules layout. Instead we use system + # setuptools. But we still have to copy easy_install + # https://bugs.launchpad.net/bugs/339904 try: - call_subprocess(cmd, show_stdout=False, - filter_stdout=filter_ez_setup, - extra_env=env, - cwd=cwd) - finally: - logger.indent -= 2 - logger.end_progress() - if is_jython and os._name == 'nt': - os.remove(ez_setup) + import setuptools + except ImportError: + print "Couldn't import setuptools. Make sure that python-setuptools packages is installed." + sys.exit(1) + logger.info('Using system setuptools %s.' % setuptools.__version__) + src = '/usr/bin/easy_install' + dest = join(bin_dir, 'easy_install') + copyfile(src, dest, False) + fix_easy_install(dest, bin_dir) + if(os.path.exists('/usr/bin/easy_install-%s' % sys.version[:3])): + src = '/usr/bin/easy_install-%s' % sys.version[:3] + dest = join(bin_dir, 'easy_install-%s' % sys.version[:3]) + copyfile(src, dest, False) + fix_easy_install(dest, bin_dir, True) + +def fix_easy_install(file, bin_dir, append_version=False): + f = open(file, 'r') + lines = f.readlines() + f.close() + if append_version: + interpreter = "#!%s/python%s" % (bin_dir, sys.version[:3]) + else: + interpreter = "#!%s/python" % bin_dir + lines = [interpreter +'\n'] + lines[1:] + f = open(file, 'wb') + f.writelines(lines) + f.close() def filter_ez_setup(line): if not line.strip(): @@ -350,12 +328,6 @@ "virtual environment") parser.add_option( - '--unzip-setuptools', - dest='unzip_setuptools', - action='store_true', - help="Unzip Setuptools when installing it") - - parser.add_option( '--relocatable', dest='relocatable', action='store_true', @@ -416,8 +388,7 @@ make_environment_relocatable(home_dir) return - create_environment(home_dir, site_packages=not options.no_site_packages, clear=options.clear, - unzip_setuptools=options.unzip_setuptools) + create_environment(home_dir, site_packages=not options.no_site_packages, clear=options.clear) if 'after_install' in globals(): after_install(options, home_dir) @@ -485,8 +456,7 @@ % (cmd_desc, proc.returncode)) -def create_environment(home_dir, site_packages=True, clear=False, - unzip_setuptools=False): +def create_environment(home_dir, site_packages=True, clear=False): """ Creates a new environment in ``home_dir``. @@ -504,7 +474,7 @@ install_distutils(lib_dir, home_dir) - install_setuptools(py_executable, unzip=unzip_setuptools) + install_setuptools(py_executable, bin_dir) install_activate(home_dir, bin_dir) @@ -571,7 +541,11 @@ copyfile(join(stdlib_dir, fn), join(lib_dir, fn)) finally: logger.indent -= 2 - mkdir(join(lib_dir, 'site-packages')) + if sys.version_info[:2] == (2, 6): + mkdir(join(home_dir, 'local', 'lib', 'python' + sys.version[:3], 'dist-packages')) + mkdir(join(lib_dir, 'dist-packages')) + else: + mkdir(join(lib_dir, 'site-packages')) writefile(join(lib_dir, 'site.py'), SITE_PY) writefile(join(lib_dir, 'orig-prefix.txt'), prefix) site_packages_filename = join(lib_dir, 'no-global-site-packages.txt') @@ -968,128 +942,128 @@ ##file site.py SITE_PY = """ -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 -eP8HyeK9cQ== +eJy1PGtz2za23/krUHoylFKZTtJuZ8epeycPd+sdN8nW6TR3XY+WkiCJNUWyBGlZu3Pvb7/nAYAA +SdnKbq8mE0sEcHBwcN44YBiGr8pS5guxKRZNJoWSSTVfizKp10osi0rU67RaHJdJVe/g6fw2WUkl +6kKonYqxVxwET//DT/BUfFynyqAA35KmLjZJnc6TLNuJdFMWVS0XYtFUab4SaZ7WaZKl/4QeRR6L +p/85BsFFLmDlWSorcScrBXCVKJbiw65eF7kYNSWu+Xn8p+Sr8USoeZWWNXSoNM5AkXVSB7mUC0AT +ejYKSJnW8liVcp4u07ntuC2abCHKLJlL8Y9/8NKoaxQFqtjI7VpWUuSADMCUAKtEPOBrWol5sZCx +EK/lPMEJ+HlLrIChTXDPFJIxL0RW5CtYUy7nUqmk2onRrKkJEKEsFgXglAIGdZplwbaobtUYtpT2 +YwuPRMLs4S+G2QPWifP3OQdwfJ8HP+fp/YRhA/cguHrNbFPJZXovEgQLP+W9nE/1s1G6FIt0uQQa +5PUYuwSMgBJZOjspaTu+1Tv03QlhZbkygTkkosyduZFGxMH7XBSAbIWUr4GvN0qMNkmaA3v9mMwJ +l1/SfFFs1ZhwBvoq8VujagfjYDSAMvR2UJ4IJK+hf5Nn6a3MdmMgyMe1DCqpmqxGFl6klZzXRZVK +RQAAtZ2Q96kCCAnsPy+aeclI2oTJkakCJAC3AkUCRRQbYUvzZbpqKpIJsUyB12Afv3//k3h7/vri +1TvNFQYYS9lqAzgDFNoaByeYQJw0qjrJChDBOLjEPyJZLFAsVjg/4NV2OHl0b4IRrL2Mu2OcLQKy +v5WzNMnNNLDGGsSf5gpo3L9gyEStgT7/8/BssPBX+6hCC+dv23UBUpQnGynWiSJeRs4IvtVwvovL +ev0SuEEhnBpIpXhzFosU4QFJXJqNilyKElgsS3M5DoBCM+rr7yKwwrsiP6a97nACQKiCHBqdZ2Oa +MZew0D6slyjhpvOOVqa7BHafN0VFog78n89Je2RJfks4KmJ7/jaTqzTPESHkhSA6imhidZsCJy5i +cUm9SJJNJxGxvuGeKBIN8BIyHfCkvE82ZSZBVzZliWR+RPBpMlkLs9cZcxz0rEkh0q61Sx3kvRfx +pw7XEZr1upIAvJl5QrcsChBW0LKETZlsJjzbtiDOCQbkiQYhT1BPGIvfgaKvlGo20jYir4BmIYYK +lkWWFVsg2WkQCHGEnYwZ9ZkTWqEN/ge4+H8m6/k6CJyZLGANCpHfBwqBgBKXueZqjYTHbZqVu0om +zVlTFNVCVjTVYcQ+YcQP7IxrDd4VtTZDvFzc5WKT1qiSZtrIpWyj8qhm/fiS1w3LAFuriGama0un +DS4vK9fJTBonYiaXKAl6k17abYc5g4E5yXrWAvUjUBTagCwyZQsyrFhQ6SxrSWYbYLDwJXlaNhl1 +UshgIoGJNiXB3yRohAvt3gB7syENUCGxwZ2D/QHc/glitF2nQJ85QAANg1oKtm+W1hWa9FYfBb6Z +NuN5fuDUi6W2TTzlMkkzbZeTPLigh+dVReI7lyWOmmhiKFhhXqMztsqBjijmYRgGgXFgdsp8Ley3 +6XTWpGjvptOgrnanwB0ChTxg6OIdLJSm45ZlVWyw2aJ3BfoA9DKOCI7EB1IUkr1Sj5leIgVcrVya +rmh+HY4UqEqCDz+df3/x6fxKnInrVitNuirpBuY8zxPgTFLqwBedaVt1BD1Rd6WovsT3YKFpXxep +otEkgTKpG2A/QP1j1VAzLGPuNQbn7169vjyf/nx1/tP06uLjOSAIpkIGR7RkAFc34KWpGPgbGGuh +Ym0ig94IevD61ZV9ECzkEhjuViJbjp6S/zZmssMqoFehrdNvRZqbdmom7wZ6nIloOp1niVLYOJ1G +Vo0bj+r69Osb6vdbcpdEDBw/lYTV5Qhlgv8NTJrMCOgInvKk7hDTCdhuM0+U5F60IBg3naLsTacj +vRpgSmIbcBxYnCJhuqDsVSn4Z0R+lMWZKjL8ifCRm4kL0alHacelaac9vkuyRiozB3UD9FeyRpAj +MB2RmSSaEMHHtiPQb4kChE/b4fhBdZ7mjbQPN7FFtU+bpV5zJTfFnVyAVcU9cpYtfqIWCJLKDHQe +LAsElhQ9C5ZxCBIMCVjogSHQKAAPbgiKIYihxRHHZTJXwJ4c4xDD6gCMdVxZFXcpWpHZTjeCEgQR +QlVoLJaGVqC77VEddR0oRnBvcqTUVkYgJFXDngjhjSBRjSxacYsJ3CXK7w19vc2LbT7loOQMRXE0 +tnuJnKZ3Ezu0W3AkvgflBEgW4LG3RGMo4MsJZLZjQB6WD8sFypLTCIBAg6N5UYUDy/jwtEQOB3Ba +hDF+KYibK4mG4M5MQT60IYYDiVpj+8CIDUKCxVkZtrKimQytlekGEzsk8bnuMubYwgfQoWIMynSk +oXEnQ7/rU5BxcelKqTMO9fSnT5+YbdSaQl1EbIaLRtuwJBUalztQtyn4o8bUcuBMbAABcA5gGqVZ +UxxfiaJkMwv7yRE52LIrcOrWdV2enpxst9tYB3pFtTpRy5M//fmbb/78jJXEYkH8A8txpEVnPeIT +akNXJf7WKLLvzM51+DHNfW4kWCNJ5pZ8DMTvL026KMTp8dgqFOTiVnnj/8bAgQKZmkmZykDbsMXo +iTp+En+lQvFEjNy+ozFbKx39WEUNUQwpJGgDlQQj6gLsA1izedHkdeSoLyW+BEUNoddCzppVZCf3 +zID5AUtFOR1ZHjh+foMY+Jxh+EppRTVFLUFskebLwiH9T8w2CdlMrSGQvKize2HRbliLGeIuDpd3 +64E4QmNWmCrkDpQIv8vBAmg79yUHP9rh+bgrXYfHfDxDYExfYJhXuxsjFBzCBfdi4kqdw9XoB4E0 +bVk1g4JxVSMoaHAdZkxtDY6seIQgI0F+H0VxvLG6B9Cpk8QxgZ/ZBejhztOzdl1WcFwD5IEz8Zye +SHCcTnttz3hrmyyjSL3Dox5VGLC30WinC+DLkQEwEWH1c8g99bZcvO9sCu/BALCCg3tksGWPmbAl +ZjIhlUbhUTjATj2rv28003gIBG4S9T8MOGF8xhNUCoSpHPmMu4/DLW05odFBeL/BIZ4yu0QSrfbI +Vld3DMrUg3Zpmeaoep09iudZAV6iVYrER2277yuQc4yPh2yZFkBNhpYcTqczcvY8+Yt0P0yLrBoM +IN34GjHapIqMG5JpDf+BV0FxKyUZgJYEzYI5VMj8hf0BImfXq7/sYQ9LaGQIt+s+L6RnMDQc034k +kIw6ygYhyIGEfVkkz5G1QQYc5myQJ9vQLPcKN8GIFYiZY0BIywDu1NgOwwXCkxhz0SSgCPm+VrIU +X4oQtq8rqYep7j+US01kOnI6kKegQ9ozN9x1Qt2zTujrM7Qf9FIOvCyAg2fg8bgJXJfNDdPaSBx8 +dV9vW6RAIVNwHo5dVG8MYdwk4RdnTo+WWGYSw1DeRF6q3sw0Dux2a9Cw4QaMt+fdufRjN+7FsaOo +UC/k5h7Cv6hK1bxQ0Rjt6SHxsZUL5pI+rSz2l+kshD/ehoTjGw+SzLro4ZSLpNqmOcfsesVnPjF7 +6NjFe1bp5IrinxNABXNPJ99XwNJ0bHQCAoCyW5YQdCvtp/fBPrjS0MLl4aHn516ffnXTX/5kcAr3 +M0zM8/u6ShTSM2OyMhsjPfsWF9UkLC7Jd/oYSR8Mol9fFQrCPvH+6pNAQnCGbZvsPm/pLYsiNo+u +yfsY1EETPUquzuqIXQAR1GPIKCcDjKkZSoOdokG5Pn1BvDx6MRHfDBh2Z6kC2Q/IZHGIhsn7GAxv +HX0YjxH2cIp+7g48QP3DgRjb9fCQBzjGbLRm4n8HzkNcBHMcL3Z5ViSLrsbBDzR/8/V0IJXoIvnN +1+Ejs3R4dYgTRx3H0s5Mp8VicNlmSCWTjFwXZxB6LaDAr3t9yjHbB4omNXPdPMzq1gK18Hvde2Go ++RwRPSBoL2a/QeirdLbsLkkzSiMDGsfHqIRN1M6JiGF8PEgPo4wZLnCAnk0GAyt1/Qw2JuI0wbi/ +HO1mvTKp1YHw1nzKRKmO7hkSe1eQDfccwPd7zOEDxrA/NSfal8akMYGVeIo78VRs6biMUkBgEXOA +smBrNwAH/Qx96PKmqSo+OqENLWV1jGcJXClg7B0d7ffBnLyTNWJiu80ppeacKxdDMhLpJJldSdT6 +N8N7sy5MaC3zu7SCscA+o+iH9z+eR/1N19PgoGFw7j4amThcISHcz1CdkSZO9DljmEKfM+Tf1+0d +09WRInOcZRJXmmyDZtjPVxmbMbwHj0Su3kFLe0Y0X8v57VTSuReyKQ51cndvsBkxscdhfv2BSpZU +RAErmWcN0ordjY94zNXkc0rj1hIUty4uw6NrOs3iNMUyS1ZiRIMXGCJrbqQo+i4x5rGsCixnEk26 +OFmlCyF/b5IMww+5XAIumGPXTTFPT5GyeMsHclw0o+S8qdJ6ByRIVKGPKOjszuk42/FCRx6SnI1m +AuJp3qm4wmVjOxNuYcg1nJjFRWJ8gAPMGRJyFz2H9ryY4qxTqgqbMFLjbgDLj4PuDAUACAEorD8c +6wyD3yKpyT0HoT13iYpa0iOlGxEVZFoQymiMERn/pp8+I7q8tQfL1X4sVw9juepiuRrEcuVjuXoY +S1ckcGNtcG0kYSjA7mZfBw+L3diYpzlP5mvuh7VHWGMEEEVpwgojU1w050XgfAxBQEhtO+di9LA9 +/E25qKkqOFWnQSL3Y65dhzCm3NEZTEfJejAvxVQU7DsA98eexDGVKsxoOMvbIqmT2JOLVVbMQGwt +upMWwER0z8I5p5PfTWechepYqvDDf3/84f077I6gQnMKS8NwE9Gw4FJGT5NqpfrS1HqVJbAj9fSP +xGmYBnh0YAaAZzni/94WWMOCjCO2dJBaiBI8ACpJsN3cg/so6jzXJ/z6OTM558TPRJjXYbuoPUR6 +9eHD21cfX4WUmgj/N3QFxtDWlw4XH9PDduj7b253S3EcA0KtI/rW+Llr8mjdcsTjNtaA7YQTz246 +D14cYrAH4w9/lf+vlIItAULFOkn1OYQ6OGj9j4LVHn0MI/YqV9wTAHZWbJsje46L4oj+PifFy3qy +alayfn3+l4t3lxevP7z6+IPjqKDD8f7q5IU4//GToMNWVLNsuRM8Z6zxWB/Un1vALRYF/Gsw2lo0 +NSdwYNTby0ud99xgQTBWiKFmjOE51wRYaBwycobIPtSH+YhRpt14p1aazr6plhq9+g1X/apCV5FR +CfYMXapGBwi6Bt7UytMhUQw8Ap1dUjAIrteAJqr1q03sUnE+XdePDyClLYk9Zc0oJO6dvTnZZJOb +9PIENBietIO1OrqOXFyjm1iVWQrxxsvIJsT1MDxrbhlGP7THRYzXkJw6w2Fm3ZFXvRcL1K0vI16b +Hj9uGe33BjBsGewtrDuXdNZKVW5YKSIi7MRZ1kjew1e79XoPFGwYps1r3ETDdCmsPoEQUKxTcHOB +J9dgI9CbBQidnfCTdadODCsLPOqM3mwWx3+LNEH83r/+OtC9rrLjv4sSfHXB5/LRADHdzm/BPY9l +LM7ffz+OGDmqChN/a7CIEswmJR0cKadiAD6Pmo6UzJb6sNZXiNigrRk1d4ZXsqz08GEHLkIJeKJG +ZNueKEO/CGsnLOwJLmXcAY31oRYzvBnhHuqZz5G4Wsss0yWFF28vz8HDwZJVlCDOiZ/DdBzV44GU +rmThmxsdUHhcBc0VsnGFjhYdWS5ir9tgoghFjkZ7p5x2nygZ0x/Vy7xUSapctEe4bIblFG3GyM2w +HWZnmbv73ZDObjeiO0oOM8b0Q0U1YT5nAEfT04Tdd/DrsSzW5L74ZCbNa1MElKVz0KageEGtTkBU +kMSgwJj/ipyzT0WlTMk4PCx3Vbpa15jhg8Exlati9x9ffbq8eEf1ny++aj3EARadkNc64YPZM6y6 +wcgcvriVNMhb0+kQ5+omhIE6CP50m/jE94wn6I3jJBj+6TZxzf6ZE7XwCkBNNWVXSNBZdYYNSU8r +EYyrjdnw41bVtJj5YChvhiXC+vDUXV+fH23PjkGhHIVp/IzU6bLUNByZwW6VR/ej17gsMde7GA13 +gtYhCTOfGQy97bXsqydxPz1ZxAJbwKjf25/DVFz0uurlOMy2j1soBNOW9tfcyes5/eY5ijIQceQO +HrtMNqyKdXfmQK8ysQdMfKvRNZI4qNDDX/NQ+xkeJpbYPZ/aDMQyKzYFGHVLXWTdgCeFdgEUCBXU +jRzJnYyfvvDW6NiEx9eodRdYyB9AEeryNqojLirgRPjyO7uP3ERooSo9Fe0xFi4uL2ztBX62a/Qt +n/trHJQBSrih2FVJvpIjhjUxML/0ib0nXUja1uOY67Rzsqy5GzzU+z0M3heL4Ry/wazDB71+t3LX +1UY+dbDDYHG1D6FKtqDdIdwe8V7tTWljd30iNIowlP892kOvR9DTsNDv+n3gpAE/TCzjXlp71alk +j2yD9ivnFQRMtaKUvmOFjYfoGubWBp61Vji0T/Xpuv1tfe9Dqha8eRgldxZvxaHu0AlQw79yBoru +wqRUB9qWkeu2hbyTWQFuEkRgWOb7my3zHceDAfojeLWoIIF/1e55kt+Sx/jml4uJePPuJ/j/tXwP +MQbetZiIvwMC4k1RQazF931wIxIsEa45iCoahRcyCBoll/HSG9+U++CtAxPZunbZL1q2+kLg8Xq1 +4avNgCKvke7AtdbSVOTCb3NloO+WGZdpaFdC3Yhk2F9IjcXHJ7pnvK43GSpOJ23Qbud1eHnx5vzd +1Xlc3yNfmZ+hk1bwj+VxRfpgr6KDb2GfzBt8cuN4kD/IrBxwIHUMZoqyMQYTEbjppY27+B5uYn3t +pMJAWpS7RTGPsSdwFV1/EvUWPMqxE249avE8c4OwRmN99NG6tfgYqCF+7WqAEDrSGL0mGkkIJTO8 +kMCP43DYJk0E5SPhz9Pb7cJNZ+rKclpgF9N21SN/uFVCa6azhucyE6F2ZnfCXMDJ0kRtZnP3Hsr7 +3NykBvVC+Wm5TJqsFjKHKIPCXrrSClrWvTrCcsLcwrqd7lNQ4iLbJjvlHIUnSoQ4a0i38jCRTikz +iEp/TG5ZF+OdFtHwBSyATohSLFE4Q1UzX7Mcc3gwoP5I9W3T/KsXUY/IPCnHjPPWqYN1ogvFGK1k +rdfPD0bj6+etWaVs4twtsIrmJVgcl1OOQH2WT58+DcV/Pe4JMCpxVhS34KIA7KEAUVxS8x4brhdn +d6vv5ZqWGFhyvpbX8OCGsp72eZNTsu6BobQh0v41MCLcm8jyo+nfsYmcxqr4gJB78EGDth0/5ym9 +4QCTLRJVrn5RBF3CRziGJUE3RImap2nEgTvsx65o8M4HJt40v8h74Ph0Q7f7oRVPNjjsXKO3ReVe +lnssOmciJMAhZv71bHSLjG49AJ7TDzuN5vQiT+u2XvmZe+ilLyCiH8smRfOVSLYoGWYdHWI414c8 +Vm29zeJBFvW892J+7abgOqvk5sdwB9YGSSuWS4MpPDSbNC9kNTdGFXcsnae1A8b0Qzg8GOJ9bYDi +YAClEDQ8GYaFlWjb+oXdFxfT93T+d2xm0mUftX0HBqdLkrxT5hLH7fyUmLGEtHxrvoxhlneU6NX+ +gDeX+EKnGbFY1bv4616baXJ9oZfP3dtbvgCHXiJhFaRlR09HOO8asfCZabVj397/dWprMVwl3O7S +qm6SbKovnU7RZZvaA1GNp71u8eBFIuuzgINdgOt5rAtNwXcw1RFITyzFMqW/EK/rcD12rzD41f5l +gb7eC0+PYxL4GXuwjgbHnl+aIvhDVL4pxe5VMbtYTqgWJRp3S6l6vfBEIdKVSr2C3X0e92ehYGC7 +rvGhADIAAH/YEYy+7JwTOQVWXOa272igB/Sbrx8C6yqdwRo/ysf7ikhfCnGL7toDAZZt4wOuwc1E +SVmYa3xaEPnGE0oNmwB7S9Oc2HeLzaH58CU/sOADztsinOz4iYq022045CFaWfweIlXbKfi3qKRH +DdMK3T4sllsn3ILi25SnNjjiazA5pXBHbgkFfurbwSrSBN9MgQQ9rm+jh5bP4x9au+4R2JWbs5ne +2v1SdpcGeux+fhmiAbukmhAH1SVajKZ/jOhO9LHhcPpDf5b2rVacBSEe1KhNNEtukrn7HS+rHvNL +sdoqN6fQ3N31zpr2Xsk07Nzn5D4380EdPrd3i+j0daHZyzdgD1yWGdvNwfCkg8rBJi0vjrm25dh/ +KxGbt14A+TmXd5zdHkp+7LsfBN3tqxvcS9ALesMVudN8iVnYbu2NNbyAy1VDf9V3r/Eo23YkYHQw +zq+ZIXCa1jK/QyOhbFCNf9speu+UMNRvuwxe5bW7zC9DGNnu434XzSNOl9bVwqKLR1wtv/zpM10t +D/6BrpZ+UwewmMZHl0kNFkQ94pNRH+8lGYEVHhgzBSJhcrTzRgmzCSO3vAgcpvQ+bN/5kfBbkCzy +Rh6w7KV/WZxA/MiVFm5Vn3c338zbKybpJXgHXpQyXLc6tNyhcj63y75Bnzdgn7LpDzzQ+/NFeK8N +0UVo7plFp0Qm0E+5nsH8ctLP5pFJBjEXtZke094G55q1e7HLvh11Kgv6Uqhtq36byZ64amzrW2gv +MSZHjW1DclNSZwO/hF7N1H1zJGkyLEc2VwGBeefSeSMFvYyCQdX+Kyor0BEJphbZ7k3sy6OoH6cf +lH0rGqYX5zI2BPHqgcP++kKvfCLbQ4UgYD2h37fAiBi1oRN2Nsn9RInrY7p5cIwyemN/4Z5pW/1L +iqns2l5cVuZUCNN40HnZZG562o7pDSATQNmOYumUuoHCOAE6t3KrQDCqpNYF07OdiMDZ1TlYrEsg +OuqXDjjI45Gag72h1TNxvK8u3a3LFuL5/o6LTum3HvGCR6hHRqjGVP86Hgseje8rOBffEWROlwm6 +qezZSkzTCrqoGcPXu+vnpzbXgvyOze49WKR9aPUzuIttieeD78ZwRhOvVBM6IsXz+HEX/E3osOZS +7PfTevcV9vhyJo/OkEKvffj40IzwXgwXdhG1fHcKCxKjJ2pMi3KKJjXu9sm4t9hWZfVhcLXi4zB6 +2g9AIZRhk44fvo4N6vmZdmtnDb1QyL7wCO/4OPJAZ4E+L/AI4/202HWH0x2Dg4ZT7aat+OQOXd7T ++w1izV4y9/Litf22oLvylgf2OAV8W2N4/PMDxvdPje3wFw/VGdheXw1WCLPvh3UGeOrUoZB5HIN1 +AYU5IjWNJWpGwvG6XUvG8bjPFM+RK1I8EUJHC18WRn40+X5TbfmtMQj+D6174nQ= """.decode("base64").decode("zlib") ##file ez_setup.py @@ -1161,17 +1135,17 @@ ##file activate.sh ACTIVATE_SH = """ -eJytU99P2zAQfvdfcaQ8ABqN+srUh6IhUYmViXSdNECum1waS6ld2U6zgva/75ykNP0xpGnkIYl9 -n8/fffddB8aZtJDKHGFRWAczhMJiAqV0GQRWFyZGmEkVitjJlXAYwEVq9AJmwmYXrANrXUAslNIO -TKFAOkikwdjla8YS3JyCs3N4ZUCPTOERLhUEp/z+7gufDB/G3wd3/NtgfBvAM3wGl6GqkP7x2/1j -0DcE/lpq4yrg216hLDo4OFTFU8mqb6eu3Ga6yBNI0BHnqigQKoEXm32CMpNxBplYIQj6UCjWi4UP -u0y4Sq8mFakWizwn3ZyGOd1NMtBfqo1fLAUJ2xy1XYAfpK0uXBN2Us2bNDtALwScet4QZ0LN0UJJ -TRKJf63BC07XGrRLYo7JnrjXg4j0vNT16md0yyc3D9HwfnRE5Kq0S7Mjz9/aFPWOdSnqHTSJgAc9 -inrvtqgJbyjUkE30ZjTZEjshXkSkD4HSKkHrTOGNhnvcOhBhnsIGcLJ3+9aem3t/M3J0HZTGYE6t -Vw5Wwkgxy9G2Db17MWMtnv2A89aS84A1CrSLYQf+JA1rbzeLFjrk/Ho44qPB1xvOrxpY2/psX0qf -zPeg0iuYkrNRiQXC007ep2BayUgc96XzvpIiJ2Nb9FaFAe0o8t5cxs2MayNJlAaOCJlzy6swLMuy -+4KOnLrqkptDq1NXCoOh8BlC9maZxxatKaU8SvBpOn2GuhbMLW5Pn71T1Hl9gFra8h77oJn/gHn/ -z1n/9znfzDgp8gduuMqz +eJytVE1P20AQve+vGBwOgApWrlQ5BBUJJBoqTFOpgDYbexyv5OxGu+u4gPrfO+sP4jgpUlV8iLM7 +X2/ePM8A7jNpIZU5wrKwDuYIhcUESukyCKwuTIwwlyoUsZNr4TCAk9ToJcyFzU7YAJ51AbFQSjsw +hQLpIJEGY5c/M5ZgGwVHx/DKgB6ZwgOcKggO+e3NFz69vrv/Pr7h38b3VwE8wWdwGarK0z/+erTP +9c0Df620cZXj212hLDrYCarsqWTVe1B3bjNd5Akk6Ahz1RQIlcCLzT5Bmck4g0ysEQS9yBTr5dKb +XSZcxVeTiliLRZ4Tb07DgmoTDfQv1cYfVoKIbULtGcAP4lYXrjE7qRZNmi1HTwQcetwQZ0It0EJJ +QxKJ/3kGTziVNWhXhByTHrkX44j4PNX16Wd0xaeXd9H17WQPyVVrp2aLnr+NKRrum1I03BkSOe7M +KBq+O6LG3EKoXVrr5WS6AXZAuAjICAKlVYLWmcILDXvYBhBhnkLrcNCrvpFnW/c3I0XXRmkM5jR6 +5WAtjBTzHG1X0NuFGevgHAWcd46cB6xhoNsM29EncVhruzl0vEPOL64nfDL+esn5+ZYl1yS9nr1O +0/00WJ9qX8zPqOIzmJHyUYklwuNW3cdgVtFMPfSp9bqTIifhW/RShjHdKNLmQsbNDtBGEmmNOyJk +zq3Ow7Asy7MXdKTk9RmpPbQ6daUwGAqfIWRvknrowJpRyr0AH2ezJ6h7wdziJvronaaO6wAaeUeb +7IN2wgfsg//cBf++B9odQIz8AYTa1L4= """.decode("base64").decode("zlib") ##file activate.bat Only in a/virtualenv-1.3.3/: virtualenv.pyc