Replace dynamic try/except with "if 0", to keep py2exe happy. If you
want to use pywin32 instead of _subprocess, you have to edit the file.
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 8d72ba0..3a3020d 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -367,16 +367,7 @@
if mswindows:
import threading
import msvcrt
- try:
- from _subprocess import *
- class STARTUPINFO:
- dwFlags = 0
- hStdInput = None
- hStdOutput = None
- hStdError = None
- class pywintypes:
- error = IOError
- except ImportError:
+ if 0: # <-- change this to use pywin32 instead of the _subprocess driver
import pywintypes
from win32api import GetStdHandle, STD_INPUT_HANDLE, \
STD_OUTPUT_HANDLE, STD_ERROR_HANDLE
@@ -388,6 +379,15 @@
GetExitCodeProcess, STARTF_USESTDHANDLES, \
CREATE_NEW_CONSOLE
from win32event import WaitForSingleObject, INFINITE, WAIT_OBJECT_0
+ else:
+ from _subprocess import *
+ class STARTUPINFO:
+ dwFlags = 0
+ hStdInput = None
+ hStdOutput = None
+ hStdError = None
+ class pywintypes:
+ error = IOError
else:
import select
import errno