diff --git a/jedi/api/environment.py b/jedi/api/environment.py index 0b376067..89e47163 100644 --- a/jedi/api/environment.py +++ b/jedi/api/environment.py @@ -61,7 +61,7 @@ class Environment(_BaseEnvironment): """ _subprocess = None - def __init__(self, executable, env_vars={}): + def __init__(self, executable, env_vars=None): self._start_executable = executable self._env_vars = env_vars # Initialize the environment @@ -136,7 +136,7 @@ class _SameEnvironmentMixin(object): self._start_executable = self.executable = sys.executable self.path = sys.prefix self.version_info = _VersionInfo(*sys.version_info[:3]) - self._env_vars = {} + self._env_vars = None class SameEnvironment(_SameEnvironmentMixin, Environment): @@ -379,7 +379,7 @@ def create_environment(path, safe=True, **kwargs): return _create_environment(path, safe, **kwargs) -def _create_environment(path, safe=True, env_vars={}): +def _create_environment(path, safe=True, env_vars=None): if os.path.isfile(path): _assert_safe(path, safe) return Environment(path, env_vars=env_vars) diff --git a/jedi/inference/compiled/subprocess/__init__.py b/jedi/inference/compiled/subprocess/__init__.py index 56c03df9..35724a48 100644 --- a/jedi/inference/compiled/subprocess/__init__.py +++ b/jedi/inference/compiled/subprocess/__init__.py @@ -156,21 +156,12 @@ class CompiledSubprocess(object): # Start with 2, gets set after _get_info. _pickle_protocol = 2 - def __init__(self, executable, env_vars={}): + def __init__(self, executable, env_vars=None): self._executable = executable - self._env_vars = dict(env_vars) + self._env_vars = env_vars self._inference_state_deletion_queue = queue.deque() self._cleanup_callable = lambda: None - # Use explicit envionment to ensure reliable results (#1540) - if os.name == 'nt': - # if SYSTEMROOT (or case variant) exists in environment, - # ensure it goes to subprocess - for k, v in os.environ.items(): - if 'SYSTEMROOT' == k.upper(): - self._env_vars.update({k: os.environ[k]}) - break # don't risk multiple entries - def __repr__(self): pid = os.getpid() return '<%s _executable=%r, _pickle_protocol=%r, is_crashed=%r, pid=%r>' % (