Moved SCons to PlatformIO packages. PlatformIO does not require SCons to be installed in your system.

Significantly simplified installation process of  PlatformIO. "pip install platformio" rocks!
This commit is contained in:
Ivan Kravets
2015-12-26 14:47:42 +02:00
parent d2088e7444
commit 9312ca7f0d
10 changed files with 52 additions and 176 deletions

View File

@ -15,8 +15,6 @@
import os
import subprocess
import sys
from glob import glob
from os.path import isdir, join
from platform import system
from tempfile import NamedTemporaryFile
@ -94,53 +92,6 @@ def print_exec_result(result):
raise Exception("\n".join([result['out'], result['err']]))
def test_scons():
try:
r = exec_command(["scons", "--version"])
if "ImportError: No module named SCons.Script" in r['err']:
_PYTHONPATH = []
for p in sys.path:
if not p.endswith("-packages"):
continue
for item in glob(join(p, "scons*")):
if isdir(join(item, "SCons")) and item not in sys.path:
_PYTHONPATH.append(item)
sys.path.insert(0, item)
if _PYTHONPATH:
_PYTHONPATH = str(os.pathsep).join(_PYTHONPATH)
if os.getenv("PYTHONPATH"):
os.environ['PYTHONPATH'] += os.pathsep + _PYTHONPATH
else:
os.environ['PYTHONPATH'] = _PYTHONPATH
r = exec_command(["scons", "--version"])
assert r['returncode'] == 0
return True
except (OSError, AssertionError):
for p in sys.path:
try:
r = exec_command([join(p, "scons"), "--version"])
assert r['returncode'] == 0
os.environ['PATH'] += os.pathsep + p
return True
except (OSError, AssertionError):
pass
return False
def install_scons():
cmds = (
["pip", "install", "-U", "scons"],
["pip", "install", "--egg", "scons",
'--install-option="--no-install-man"'],
["easy_install", "scons"]
)
for cmd in cmds:
r = exec_command(cmd)
if r['returncode'] == 0:
return True
return False
def exec_python_cmd(args):
return exec_command([CURINTERPRETER_PATH] + args)
@ -175,8 +126,6 @@ def install_platformio():
cmd + ["--no-cache-dir", "install", "-U", "platformio"])
if r:
print_exec_result(r)
if not test_scons():
install_scons()
def main():