@@ -72,3 +72,35 @@ def open(*args, **kwargs):
72
72
73
73
74
74
setattr (builtins , 'open' , open )
75
+
76
+
77
+
78
+
79
+ # platform
80
+ sys .modules ["_posixsubprocess" ] = type (sys )("_posixsubprocess" )
81
+ sys .modules ["select" ].select = lambda * args : print ("select" , args )
82
+ sys .modules ["os" ].WIFSIGNALED = lambda status : False
83
+ sys .modules ["os" ].WIFEXITED = lambda status : False
84
+ sys .modules ["os" ].WTERMSIG = lambda status : False
85
+ sys .modules ["os" ].WEXITSTATUS = lambda status : False
86
+ sys .modules ["os" ].WIFSTOPPED = lambda status : False
87
+ sys .modules ["os" ].WSTOPSIG = lambda status : False
88
+ sys .modules ["os" ].waitpid = lambda status : False
89
+ sys .modules ["os" ].WNOHANG = lambda status : False
90
+
91
+ # in setuptools' pkg_resources/__init__.py
92
+ sys .modules ["zipimport" ] = type (sys )("zipimport" )
93
+ sys .modules ["zipimport" ].zipimporter = None
94
+
95
+ # in setuptools' pkg_resources/__init__.py
96
+ sys .modules ["email.parser" ] = type (sys )("email.parser" )
97
+ sys .modules ["plistlib" ] = type (sys )("plistlib" )
98
+
99
+ # in setuptools' vendored pyparsing.py
100
+ class ThreadingIntercession (type (sys )):
101
+ def __getattr__ (self , name ):
102
+ import dummy_threading
103
+ return getattr (dummy_threading , name )
104
+
105
+
106
+ sys .modules ["threading" ] = ThreadingIntercession ("threading" )
0 commit comments