diff --git a/tools/idf_tools.py b/tools/idf_tools.py index 158b5a764..6a4674da6 100755 --- a/tools/idf_tools.py +++ b/tools/idf_tools.py @@ -1339,10 +1339,16 @@ def main(argv): global_idf_path = args.idf_path if not global_idf_path: global_idf_path = os.path.realpath(os.path.join(os.path.dirname(__file__), "..")) + os.environ['IDF_PATH'] = global_idf_path global global_idf_tools_path global_idf_tools_path = os.environ.get('IDF_TOOLS_PATH') or os.path.expanduser(IDF_TOOLS_PATH_DEFAULT) + # On macOS, unset __PYVENV_LAUNCHER__ variable if it is set. + # Otherwise sys.executable keeps pointing to the system Python, even when a python binary from a virtualenv is invoked. + # See https://bugs.python.org/issue22490#msg283859. + os.environ.pop('__PYVENV_LAUNCHER__', None) + if sys.version_info.major == 2: try: global_idf_tools_path.decode('ascii')