summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2016-10-27 16:32:47 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2016-10-27 16:32:47 +0200
commitf2b8bb31cff65810f9121717b24ba19e780af451 (patch)
tree1a8346307eb1dc88611a4ca2fc3e530912099212
parent04b15680ead1e8ccdd2d5ae3cd2ed1b8cf2b41ae (diff)
parent987be16ee8e33f8c4521971bef7d704990753c44 (diff)
downloadpsutil-f2b8bb31cff65810f9121717b24ba19e780af451.tar.gz
Merge branch 'master' into oneshot-win
-rw-r--r--Makefile1
-rwxr-xr-xscripts/internal/winmake.py72
2 files changed, 47 insertions, 26 deletions
diff --git a/Makefile b/Makefile
index a380d7e3..ce224896 100644
--- a/Makefile
+++ b/Makefile
@@ -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: