985
|
1 |
--- ez_setup/__init__.py.orig 2008-03-17 17:17:55.718936000 +0800
|
|
2 |
+++ ez_setup/__init__.py 2008-03-17 17:19:48.463046000 +0800
|
|
3 |
@@ -80,31 +80,31 @@
|
|
4 |
this routine will print a message to ``sys.stderr`` and raise SystemExit in
|
|
5 |
an attempt to abort the calling script.
|
|
6 |
"""
|
|
7 |
- was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules
|
|
8 |
- def do_download():
|
|
9 |
+ try:
|
|
10 |
+ import setuptools
|
|
11 |
+ if setuptools.__version__ == '0.0.1':
|
|
12 |
+ print >>sys.stderr, (
|
|
13 |
+ "You have an obsolete version of setuptools installed. Please\n"
|
|
14 |
+ "remove it from your system entirely before rerunning this script."
|
|
15 |
+ )
|
|
16 |
+ sys.exit(2)
|
|
17 |
+ except ImportError:
|
|
18 |
egg = download_setuptools(version, download_base, to_dir, download_delay)
|
|
19 |
sys.path.insert(0, egg)
|
|
20 |
import setuptools; setuptools.bootstrap_install_from = egg
|
|
21 |
+
|
|
22 |
+ import pkg_resources
|
|
23 |
try:
|
|
24 |
- import pkg_resources
|
|
25 |
- except ImportError:
|
|
26 |
- return do_download()
|
|
27 |
- try:
|
|
28 |
- pkg_resources.require("setuptools>="+version); return
|
|
29 |
+ pkg_resources.require("setuptools>="+version)
|
|
30 |
+
|
|
31 |
except pkg_resources.VersionConflict, e:
|
|
32 |
- if was_imported:
|
|
33 |
- print >>sys.stderr, (
|
|
34 |
+ # XXX could we install in a subprocess here?
|
|
35 |
+ print >>sys.stderr, (
|
|
36 |
"The required version of setuptools (>=%s) is not available, and\n"
|
|
37 |
"can't be installed while this script is running. Please install\n"
|
|
38 |
- " a more recent version first, using 'easy_install -U setuptools'."
|
|
39 |
- "\n\n(Currently using %r)"
|
|
40 |
- ) % (version, e.args[0])
|
|
41 |
- sys.exit(2)
|
|
42 |
- else:
|
|
43 |
- del pkg_resources, sys.modules['pkg_resources'] # reload ok
|
|
44 |
- return do_download()
|
|
45 |
- except pkg_resources.DistributionNotFound:
|
|
46 |
- return do_download()
|
|
47 |
+ " a more recent version first.\n\n(Currently using %r)"
|
|
48 |
+ ) % (version, e.args[0])
|
|
49 |
+ sys.exit(2)
|
|
50 |
|
|
51 |
def download_setuptools(
|
|
52 |
version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
|
|
53 |
@@ -153,43 +153,9 @@
|
|
54 |
if dst: dst.close()
|
|
55 |
return os.path.realpath(saveto)
|
|
56 |
|
|
57 |
-
|
|
58 |
-
|
|
59 |
-
|
|
60 |
-
|
|
61 |
-
|
|
62 |
-
|
|
63 |
-
|
|
64 |
-
|
|
65 |
-
|
|
66 |
-
|
|
67 |
-
|
|
68 |
-
|
|
69 |
-
|
|
70 |
-
|
|
71 |
-
|
|
72 |
-
|
|
73 |
-
|
|
74 |
-
|
|
75 |
-
|
|
76 |
-
|
|
77 |
-
|
|
78 |
-
|
|
79 |
-
|
|
80 |
-
|
|
81 |
-
|
|
82 |
-
|
|
83 |
-
|
|
84 |
-
|
|
85 |
-
|
|
86 |
-
|
|
87 |
-
|
|
88 |
-
|
|
89 |
-
|
|
90 |
-
|
|
91 |
-
|
|
92 |
def main(argv, version=DEFAULT_VERSION):
|
|
93 |
"""Install or upgrade setuptools and EasyInstall"""
|
|
94 |
+
|
|
95 |
try:
|
|
96 |
import setuptools
|
|
97 |
except ImportError:
|
|
98 |
@@ -204,11 +170,8 @@
|
|
99 |
os.unlink(egg)
|
|
100 |
else:
|
|
101 |
if setuptools.__version__ == '0.0.1':
|
|
102 |
- print >>sys.stderr, (
|
|
103 |
- "You have an obsolete version of setuptools installed. Please\n"
|
|
104 |
- "remove it from your system entirely before rerunning this script."
|
|
105 |
- )
|
|
106 |
- sys.exit(2)
|
|
107 |
+ # tell the user to uninstall obsolete version
|
|
108 |
+ use_setuptools(version)
|
|
109 |
|
|
110 |
req = "setuptools>="+version
|
|
111 |
import pkg_resources
|
|
112 |
@@ -229,6 +192,8 @@
|
|
113 |
print "Setuptools version",version,"or greater has been installed."
|
|
114 |
print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)'
|
|
115 |
|
|
116 |
+
|
|
117 |
+
|
|
118 |
def update_md5(filenames):
|
|
119 |
"""Update our built-in md5 registry"""
|
|
120 |
|