summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2017-05-05 22:50:53 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2017-05-05 22:50:53 +0200
commitac81153b664e468428bb9c550dbea03d3087f8cc (patch)
tree44eb23996277aa27cb1dc0ee494d6a19986acaff /scripts
parenteb3be3d3ab2e55e79121ba8e0f183b60343f73da (diff)
downloadpsutil-ac81153b664e468428bb9c550dbea03d3087f8cc.tar.gz
make.bat uninstall: remove files from site-packages dir
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/internal/winmake.py28
1 files changed, 14 insertions, 14 deletions
diff --git a/scripts/internal/winmake.py b/scripts/internal/winmake.py
index 0408b80c..e813f33c 100755
--- a/scripts/internal/winmake.py
+++ b/scripts/internal/winmake.py
@@ -17,6 +17,7 @@ import fnmatch
import functools
import os
import shutil
+import site
import ssl
import subprocess
import sys
@@ -252,19 +253,13 @@ def install():
@cmd
def uninstall():
"""Uninstall psutil"""
- try:
- import psutil
- except ImportError:
- clean()
- return
+ # Uninstalling psutil on Windows seems to be tricky.
+ # On "import psutil" tests may import a psutil version living in
+ # C:\PythonXY\Lib\site-packages which is not what we want, so
+ # we try both "pip uninstall psutil" and manually remove stuff
+ # from site-packages.
clean()
install_pip()
- sh("%s -m pip uninstall -y psutil" % PYTHON)
-
- # Uninstalling psutil on Windows seems to be tricky as we may have
- # different versions os psutil installed. Also we don't want to be
- # in the main psutil source dir as "import psutil" will always
- # succeed so this really removes files from site-packages dir.
here = os.getcwd()
try:
os.chdir('C:\\')
@@ -272,12 +267,17 @@ def uninstall():
try:
import psutil # NOQA
except ImportError:
- clean()
- return
- sh("%s -m pip uninstall -y psutil" % PYTHON)
+ break
+ else:
+ sh("%s -m pip uninstall -y psutil" % PYTHON)
finally:
os.chdir(here)
+ for dir in site.getsitepackages():
+ for name in os.listdir(dir):
+ if name.startswith('psutil'):
+ rm(os.path.join(dir, name))
+
@cmd
def clean():