mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-15 01:57:06 +08:00
Merge pull request #1633 from mrclary/mrclary-fix-wingkinl-patch-python-environ
Fix for #1630
This commit is contained in:
@@ -61,7 +61,7 @@ class Environment(_BaseEnvironment):
|
|||||||
"""
|
"""
|
||||||
_subprocess = None
|
_subprocess = None
|
||||||
|
|
||||||
def __init__(self, executable, env_vars={}):
|
def __init__(self, executable, env_vars=None):
|
||||||
self._start_executable = executable
|
self._start_executable = executable
|
||||||
self._env_vars = env_vars
|
self._env_vars = env_vars
|
||||||
# Initialize the environment
|
# Initialize the environment
|
||||||
@@ -136,7 +136,7 @@ class _SameEnvironmentMixin(object):
|
|||||||
self._start_executable = self.executable = sys.executable
|
self._start_executable = self.executable = sys.executable
|
||||||
self.path = sys.prefix
|
self.path = sys.prefix
|
||||||
self.version_info = _VersionInfo(*sys.version_info[:3])
|
self.version_info = _VersionInfo(*sys.version_info[:3])
|
||||||
self._env_vars = {}
|
self._env_vars = None
|
||||||
|
|
||||||
|
|
||||||
class SameEnvironment(_SameEnvironmentMixin, Environment):
|
class SameEnvironment(_SameEnvironmentMixin, Environment):
|
||||||
@@ -379,7 +379,7 @@ def create_environment(path, safe=True, **kwargs):
|
|||||||
return _create_environment(path, safe, **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):
|
if os.path.isfile(path):
|
||||||
_assert_safe(path, safe)
|
_assert_safe(path, safe)
|
||||||
return Environment(path, env_vars=env_vars)
|
return Environment(path, env_vars=env_vars)
|
||||||
|
|||||||
@@ -156,21 +156,12 @@ class CompiledSubprocess(object):
|
|||||||
# Start with 2, gets set after _get_info.
|
# Start with 2, gets set after _get_info.
|
||||||
_pickle_protocol = 2
|
_pickle_protocol = 2
|
||||||
|
|
||||||
def __init__(self, executable, env_vars={}):
|
def __init__(self, executable, env_vars=None):
|
||||||
self._executable = executable
|
self._executable = executable
|
||||||
self._env_vars = dict(env_vars)
|
self._env_vars = env_vars
|
||||||
self._inference_state_deletion_queue = queue.deque()
|
self._inference_state_deletion_queue = queue.deque()
|
||||||
self._cleanup_callable = lambda: None
|
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):
|
def __repr__(self):
|
||||||
pid = os.getpid()
|
pid = os.getpid()
|
||||||
return '<%s _executable=%r, _pickle_protocol=%r, is_crashed=%r, pid=%r>' % (
|
return '<%s _executable=%r, _pickle_protocol=%r, is_crashed=%r, pid=%r>' % (
|
||||||
|
|||||||
Reference in New Issue
Block a user