diff --git a/jedi/parser/utils.py b/jedi/parser/utils.py index 3cf318bc..82e0e349 100644 --- a/jedi/parser/utils.py +++ b/jedi/parser/utils.py @@ -10,6 +10,7 @@ import pickle from jedi import settings from jedi import debug +from jedi._compatibility import FileNotFoundError def underscore_memoization(func): @@ -127,12 +128,15 @@ class ParserPickling(object): # the pickle file is outdated return None - with open(self._get_hashed_path(path), 'rb') as f: - try: - gc.disable() - parser_cache_item = pickle.load(f) - finally: - gc.enable() + try: + with open(self._get_hashed_path(path), 'rb') as f: + try: + gc.disable() + parser_cache_item = pickle.load(f) + finally: + gc.enable() + except FileNotFoundError: + return None debug.dbg('pickle loaded: %s', path) parser_cache[path] = parser_cache_item