diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2016-10-27 16:32:47 +0200 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2016-10-27 16:32:47 +0200 |
commit | f2b8bb31cff65810f9121717b24ba19e780af451 (patch) | |
tree | 1a8346307eb1dc88611a4ca2fc3e530912099212 | |
parent | 04b15680ead1e8ccdd2d5ae3cd2ed1b8cf2b41ae (diff) | |
parent | 987be16ee8e33f8c4521971bef7d704990753c44 (diff) | |
download | psutil-f2b8bb31cff65810f9121717b24ba19e780af451.tar.gz |
Merge branch 'master' into oneshot-win
-rw-r--r-- | Makefile | 1 | ||||
-rwxr-xr-x | scripts/internal/winmake.py | 72 |
2 files changed, 47 insertions, 26 deletions
@@ -37,6 +37,7 @@ all: test clean: rm -rf `find . \ -type f -name \*.pyc \ + -o -type f -name \*.pyd \ -o -type f -name \*.pyo \ -o -type f -name \*.so \ -o -type f -name \*.~ \ diff --git a/scripts/internal/winmake.py b/scripts/internal/winmake.py index 9663b378..7671b735 100755 --- a/scripts/internal/winmake.py +++ b/scripts/internal/winmake.py @@ -23,8 +23,6 @@ import tempfile import textwrap -HERE = os.path.abspath(os.path.dirname(__file__)) -ROOT = os.path.abspath(os.path.join(HERE, '../..')) PYTHON = sys.executable TSCRIPT = os.environ['TSCRIPT'] GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py" @@ -112,7 +110,32 @@ def rm(pattern, directory=False): safe_remove(path) +# =================================================================== +# commands +# =================================================================== + + +@cmd +def help(): + """Print this help""" + print('Run "make <target>" where <target> is one of:') + for name in sorted(_cmds): + print(" %-20s %s" % (name.replace('_', '-'), _cmds[name] or '')) + + +@cmd +def build(): + """Build / compile""" + sh("%s setup.py build" % PYTHON) + # copies compiled *.pyd files in ./psutil directory in order to + # allow "import psutil" when using the interactive interpreter + # from within this directory. + sh("%s setup.py build_ext -i" % PYTHON) + + +@cmd def install_pip(): + """Install pip""" try: import pip # NOQA except ImportError: @@ -140,29 +163,6 @@ def install_pip(): os.remove(tfile) -# =================================================================== -# commands -# =================================================================== - - -@cmd -def help(): - """Print this help""" - print('Run "make <target>" where <target> is one of:') - for name in sorted(_cmds): - print(" %-20s %s" % (name.replace('_', '-'), _cmds[name] or '')) - - -@cmd -def build(): - """Build / compile""" - sh("%s setup.py build" % PYTHON) - # copies compiled *.pyd files in ./psutil directory in order to - # allow "import psutil" when using the interactive interpreter - # from within this directory. - sh("%s setup.py build_ext -i" % PYTHON) - - @cmd def install(): """Install in develop / edit mode""" @@ -174,9 +174,29 @@ def install(): @cmd def uninstall(): """Uninstall psutil""" + clean() + try: + import psutil + except ImportError: + return install_pip() sh("%s -m pip uninstall -y psutil" % PYTHON) + # Uninstalling psutil on Windows seems to be tricky as we may have + # different versions installed. Also we don't want to be in main + # psutil source dir as "import psutil" will always succeed. + here = os.getcwd() + try: + os.chdir('C:\\') + while True: + try: + import psutil # NOQA + except ImportError: + return + sh("%s -m pip uninstall -y psutil" % PYTHON) + finally: + os.chdir(here) + @cmd def clean(): @@ -192,6 +212,7 @@ def clean(): rm("*.core") rm("*.orig") rm("*.pyc") + rm("*.pyd") rm("*.pyo") rm("*.rej") rm("*.so") @@ -305,7 +326,6 @@ def bench_oneshot_2(): def main(): - os.chdir(ROOT) try: cmd = sys.argv[1].replace('-', '_') except IndexError: |