Skip to content

@maphew /install-pip.py
Last active

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A pure python script to download and install the distribute_setup and pip utilities. Tested on Windows 7, Python 3.2.
"""
pip-install.py
A pure python script to download and install the distribute_setup and
pip utilities
Adapted from:
http://stackoverflow.com/questions/4750806/how-to-install-pip-on-windows/15294806#15294806
http://stackoverflow.com/questions/2792650/python3-error-import-error-no-module-name-urllib
http://stackoverflow.com/questions/1093322/how-do-i-check-what-version-of-python-is-running-my-script
matt wilkie <maphew@gmail.com>
license: X/MIT
2013-Apr-15
http://www.maphew.com/2013/install-pip-script/
"""
import sys
sources = [
'http://python-distribute.org/distribute_setup.py',
'https://raw.github.com/pypa/pip/master/contrib/get-pip.py',
]
warning = '''\n
Usage: python %s GO
This script downloads and executes arbitrary code from the internet.
It is worth noting this could be extremely dangerous if one doesn't
have the expertise or bother to inspect the url-file before executing
these commands.
At the time of this writing said arbitrary code is:
''' % (sys.argv[0])
for s in sources:
warning = warning + '\n\t %s' % s
if not len(sys.argv) > 1:
sys.exit(warning)
if not sys.argv[1] == 'GO':
sys.exit(warning)
if sys.hexversion < 0x03000000:
from urllib2 import urlopen # python 2
else:
from urllib.request import urlopen # python 3+
for src in sources:
print('\n %s \n %s \n' % ('-'*78, src))
f = urlopen(src).read()
try: exec(f)
except:
print('''
**** Whups. an exception happened in "exec(f)" of %s.
**** Carrying on anyway,
**** but you should check to ensure it's not a real problem.
''' % sys.argv[0])
print('\n %s \n %s \n' % (src, '-'*78))
@maphew
Owner

hmm, on a virgin python install the script needs to be run twice. The first time distribute installs and get-pip is skipped over. On the second get-pip works.

@maphew
Owner

...interesting, on python3.2 it doesn't need to be run twice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.