diff --git a/nodeenv.py b/nodeenv.py index e4bf509..4b6a09a 100644 --- a/nodeenv.py +++ b/nodeenv.py @@ -26,6 +26,7 @@ import zipfile import shutil import glob +import psutil try: # pragma: no cover (py2 only) from ConfigParser import SafeConfigParser as ConfigParser @@ -52,8 +53,16 @@ if is_PY3: from functools import cmp_to_key -is_WIN = platform.system() == 'Windows' is_CYGWIN = platform.system().startswith('CYGWIN') +if platform.system() == 'Windows': + is_WIN = True + # if a bash terminal is used in the process of activating this script, install as CYGWIN + proc_parent = psutil.Process(os.getpid()).parent() + while proc_parent is not None and proc_parent.name() != 'bash.exe': + proc_parent = proc_parent.parent() + if proc_parent is not None and proc_parent.name() == 'bash.exe': + is_WIN = False + is_CYGWIN = True # --------------------------------------------------------- diff --git a/setup.py b/setup.py index 2c1ff5d..2e03d98 100644 --- a/setup.py +++ b/setup.py @@ -32,7 +32,9 @@ def read_file(file_name): license='BSD', author='Eugene Kalinin', author_email='e.v.kalinin@gmail.com', - install_requires=[], + install_requires=[ + 'psutil' + ], description="Node.js virtual environment builder", long_description=ldesc, py_modules=['nodeenv'],