From 6031971028314fa1f1cf41e22b9f9764c4093cb5 Mon Sep 17 00:00:00 2001 From: Stanislav Grozev Date: Fri, 31 Aug 2018 09:32:02 +0300 Subject: [PATCH] Use expanded paths when looking for virtualenv root This fixes virtualenv resolution under macOS and Pipenv. --- jedi/api/environment.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jedi/api/environment.py b/jedi/api/environment.py index a6616c5a..0d2b6729 100644 --- a/jedi/api/environment.py +++ b/jedi/api/environment.py @@ -154,7 +154,11 @@ def _get_virtual_env_from_var(): """ var = os.environ.get('VIRTUAL_ENV') if var: - if var == sys.prefix: + # Under macOS in some cases - notably when using Pipenv - the + # sys.prefix of the virtualenv is /path/to/env/bin/.. instead of + # /path/to/env so we need to fully resolve the paths in order to + # compare them. + if os.path.realpath(var) == os.path.realpath(sys.prefix): return _try_get_same_env() try: