Remove a way for using imp to load Jedi in a subprocess

This commit is contained in:
Dave Halter
2020-07-02 00:37:09 +02:00
parent 23db298e2f
commit fb34df3987
+6 -18
View File
@@ -1,5 +1,10 @@
import os import os
import sys import sys
from importlib.machinery import PathFinder
# Remove the first entry, because it's simply a directory entry that equals
# this directory.
del sys.path[0]
def _get_paths(): def _get_paths():
@@ -11,13 +16,6 @@ def _get_paths():
return {'jedi': _jedi_path, 'parso': _parso_path} return {'jedi': _jedi_path, 'parso': _parso_path}
# Remove the first entry, because it's simply a directory entry that equals
# this directory.
del sys.path[0]
if sys.version_info > (3, 4):
from importlib.machinery import PathFinder
class _ExactImporter(object): class _ExactImporter(object):
def __init__(self, path_dct): def __init__(self, path_dct):
self._path_dct = path_dct self._path_dct = path_dct
@@ -29,21 +27,11 @@ if sys.version_info > (3, 4):
return loader return loader
return None return None
# Try to import jedi/parso. # Try to import jedi/parso.
sys.meta_path.insert(0, _ExactImporter(_get_paths())) sys.meta_path.insert(0, _ExactImporter(_get_paths()))
from jedi.inference.compiled import subprocess # NOQA from jedi.inference.compiled import subprocess # NOQA
sys.meta_path.pop(0) sys.meta_path.pop(0)
else:
import imp
def load(name):
paths = list(_get_paths().values())
fp, pathname, description = imp.find_module(name, paths)
return imp.load_module(name, fp, pathname, description)
load('parso')
load('jedi')
from jedi.inference.compiled import subprocess # NOQA
from jedi._compatibility import highest_pickle_protocol # noqa: E402 from jedi._compatibility import highest_pickle_protocol # noqa: E402