kopia lustrzana https://github.com/espressif/esp-idf
fix(tools): extend error message for failed python module import
Currently idf.py reports just "Please use idf.py only in an ESP-IDF shell environment". Sometimes it may be useful to know for which module the import failed. Also the problem does not have to be related to shell environment only, but the python venv can be corrupted. This adds a little bit more verbose error message. Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>release/v5.0
rodzic
7065c87963
commit
ca31d75cc3
10
tools/idf.py
10
tools/idf.py
|
@ -41,9 +41,15 @@ try:
|
|||
debug_print_idf_version, get_target, merge_action_lists, print_warning)
|
||||
if os.getenv('IDF_COMPONENT_MANAGER') != '0':
|
||||
from idf_component_manager import idf_extensions
|
||||
except ImportError:
|
||||
except ImportError as e:
|
||||
# For example, importing click could cause this.
|
||||
print('Please use idf.py only in an ESP-IDF shell environment.', file=sys.stderr)
|
||||
print((f'Cannot import module "{e.name}". This usually means that "idf.py" was not '
|
||||
f'spawned within an ESP-IDF shell environment or the python virtual '
|
||||
f'environment used by "idf.py" is corrupted.\n'
|
||||
f'Please use idf.py only in an ESP-IDF shell environment. If problem persists, '
|
||||
f'please try to install ESP-IDF tools again as described in the Get Started guide.'),
|
||||
file=sys.stderr)
|
||||
|
||||
sys.exit(1)
|
||||
|
||||
# Use this Python interpreter for any subprocesses we launch
|
||||
|
|
Ładowanie…
Reference in New Issue