|
45 | 45 | import http
|
46 | 46 | IncompleteRead = http.client.IncompleteRead
|
47 | 47 |
|
48 |
| -from packaging import version |
49 |
| - |
50 | 48 | nodeenv_version = '1.8.0'
|
51 | 49 |
|
52 | 50 | join = os.path.join
|
@@ -170,16 +168,23 @@ def remove_env_bin_from_path(env, env_bin_dir):
|
170 | 168 | return env.replace(env_bin_dir + ':', '')
|
171 | 169 |
|
172 | 170 |
|
| 171 | +def parse_version(version_str): |
| 172 | + """ |
| 173 | + Parse version string to a tuple of integer parts |
| 174 | + """ |
| 175 | + return tuple(map(int, version_str.replace('v', '').split('.'))) |
| 176 | + |
| 177 | + |
173 | 178 | def node_version_from_args(args):
|
174 | 179 | """
|
175 | 180 | Parse the node version from the argparse args
|
176 | 181 | """
|
177 | 182 | if args.node == 'system':
|
178 | 183 | out, err = subprocess.Popen(
|
179 | 184 | ["node", "--version"], stdout=subprocess.PIPE).communicate()
|
180 |
| - return version.parse(clear_output(out).replace('v', '')) |
| 185 | + return parse_version(clear_output(out)) |
181 | 186 |
|
182 |
| - return version.parse(args.node) |
| 187 | + return parse_version(args.node) |
183 | 188 |
|
184 | 189 |
|
185 | 190 | def create_logger():
|
@@ -520,7 +525,7 @@ def callit(cmd, show_stdout=True, in_shell=False,
|
520 | 525 |
|
521 | 526 |
|
522 | 527 | def get_root_url(version_str):
|
523 |
| - if version.parse(version_str) > version.parse("0.5.0"): |
| 528 | + if parse_version(version_str) > (0, 5): |
524 | 529 | return '%s/v%s/' % (src_base_url, version_str)
|
525 | 530 | else:
|
526 | 531 | return src_base_url
|
@@ -1004,7 +1009,7 @@ def create_environment(env_dir, args):
|
1004 | 1009 | # before npm install, npm use activate
|
1005 | 1010 | # for install
|
1006 | 1011 | install_activate(env_dir, args)
|
1007 |
| - if node_version_from_args(args) < version.parse("0.6.3") or args.with_npm: |
| 1012 | + if node_version_from_args(args) < (0, 6, 3) or args.with_npm: |
1008 | 1013 | instfunc = install_npm_win if is_WIN or is_CYGWIN else install_npm
|
1009 | 1014 | instfunc(env_dir, src_dir, args)
|
1010 | 1015 | if args.requirements:
|
|
0 commit comments