diff --git a/econtext/core.py b/econtext/core.py index e010632f..9a8ee457 100644 --- a/econtext/core.py +++ b/econtext/core.py @@ -1049,8 +1049,11 @@ class ExternalContext(object): self.router.register(self.parent, self.stream) self.router.register(self.master, self.stream) + + sys.executable, = eval(os.environ.pop('ARGV0')) LOG.debug('Connected to %s; my ID is %r, PID is %r', self.parent, context_id, os.getpid()) + LOG.debug('Recovered sys.executable: %r', sys.executable) self._dispatch_calls() LOG.debug('ExternalContext.main() normal exit') diff --git a/econtext/master.py b/econtext/master.py index a57b8ed7..fd03044e 100644 --- a/econtext/master.py +++ b/econtext/master.py @@ -361,6 +361,7 @@ class Stream(econtext.core.Stream): os.dup2(R,0) os.dup2(R2,101) for f in R,R2,W,W2: os.close(f) + os.environ['ARGV0'] = `[sys.executable]` os.execv(sys.executable,['econtext:CONTEXT_NAME']) else: os.write(1, 'EC0\n')