This file can also be run as a script to install or upgrade setuptools. |
This file can also be run as a script to install or upgrade setuptools. |
""" |
""" |
import sys |
import sys |
DEFAULT_VERSION = "0.6c7" |
DEFAULT_VERSION = "0.6c8" |
DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3] |
DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3] |
|
|
md5_data = { |
md5_data = { |
'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2', |
'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2', |
'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e', |
'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e', |
'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372', |
'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372', |
|
'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902', |
|
'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de', |
|
'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b', |
} |
} |
|
|
import sys, os |
import sys, os |
this routine will print a message to ``sys.stderr`` and raise SystemExit in |
this routine will print a message to ``sys.stderr`` and raise SystemExit in |
an attempt to abort the calling script. |
an attempt to abort the calling script. |
""" |
""" |
try: |
was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules |
import setuptools |
def do_download(): |
if setuptools.__version__ == '0.0.1': |
|
print >>sys.stderr, ( |
|
"You have an obsolete version of setuptools installed. Please\n" |
|
"remove it from your system entirely before rerunning this script." |
|
) |
|
sys.exit(2) |
|
except ImportError: |
|
egg = download_setuptools(version, download_base, to_dir, download_delay) |
egg = download_setuptools(version, download_base, to_dir, download_delay) |
sys.path.insert(0, egg) |
sys.path.insert(0, egg) |
import setuptools; setuptools.bootstrap_install_from = egg |
import setuptools; setuptools.bootstrap_install_from = egg |
|
try: |
import pkg_resources |
import pkg_resources |
|
except ImportError: |
|
return do_download() |
try: |
try: |
pkg_resources.require("setuptools>="+version) |
pkg_resources.require("setuptools>="+version); return |
|
|
except pkg_resources.VersionConflict, e: |
except pkg_resources.VersionConflict, e: |
# XXX could we install in a subprocess here? |
if was_imported: |
print >>sys.stderr, ( |
print >>sys.stderr, ( |
"The required version of setuptools (>=%s) is not available, and\n" |
"The required version of setuptools (>=%s) is not available, and\n" |
"can't be installed while this script is running. Please install\n" |
"can't be installed while this script is running. Please install\n" |
" a more recent version first.\n\n(Currently using %r)" |
" a more recent version first, using 'easy_install -U setuptools'." |
|
"\n\n(Currently using %r)" |
) % (version, e.args[0]) |
) % (version, e.args[0]) |
sys.exit(2) |
sys.exit(2) |
|
else: |
|
del pkg_resources, sys.modules['pkg_resources'] # reload ok |
|
return do_download() |
|
except pkg_resources.DistributionNotFound: |
|
return do_download() |
|
|
def download_setuptools( |
def download_setuptools( |
version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, |
version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, |
if dst: dst.close() |
if dst: dst.close() |
return os.path.realpath(saveto) |
return os.path.realpath(saveto) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def main(argv, version=DEFAULT_VERSION): |
def main(argv, version=DEFAULT_VERSION): |
"""Install or upgrade setuptools and EasyInstall""" |
"""Install or upgrade setuptools and EasyInstall""" |
|
|
try: |
try: |
import setuptools |
import setuptools |
except ImportError: |
except ImportError: |
os.unlink(egg) |
os.unlink(egg) |
else: |
else: |
if setuptools.__version__ == '0.0.1': |
if setuptools.__version__ == '0.0.1': |
# tell the user to uninstall obsolete version |
print >>sys.stderr, ( |
use_setuptools(version) |
"You have an obsolete version of setuptools installed. Please\n" |
|
"remove it from your system entirely before rerunning this script." |
|
) |
|
sys.exit(2) |
|
|
req = "setuptools>="+version |
req = "setuptools>="+version |
import pkg_resources |
import pkg_resources |
print "Setuptools version",version,"or greater has been installed." |
print "Setuptools version",version,"or greater has been installed." |
print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)' |
print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)' |
|
|
|
|
|
|
def update_md5(filenames): |
def update_md5(filenames): |
"""Update our built-in md5 registry""" |
"""Update our built-in md5 registry""" |
|
|