diff --git a/src/vistir/misc.py b/src/vistir/misc.py index aca5cb8..08dfb14 100644 --- a/src/vistir/misc.py +++ b/src/vistir/misc.py @@ -8,7 +8,6 @@ import sys from collections import OrderedDict -from contextlib import contextmanager from functools import partial import six @@ -17,6 +16,10 @@ from .compat import Path, fs_str, partialmethod from .contextmanagers import spinner as spinner +if os.name != "nt": + class WindowsError(OSError): + pass + __all__ = [ "shell_escape", @@ -103,7 +106,7 @@ def _spawn_subprocess(script, env={}, block=True, cwd=None, combine_stderr=True) try: return subprocess.Popen(cmd, **options) except WindowsError as e: - if e.winerror != 193: + if getattr(e, "winerror", e.errno) != 193: raise options["shell"] = True # Try shell mode to use Windows's file association for file launch.