Merge branch 'fix/tools_py_environ_str' into 'master'
idf_py: fix the ESPPORT environ variable type issue See merge request espressif/esp-idf!7433
This commit is contained in:
commit
64654c0444
|
@ -77,6 +77,13 @@ def run_tool(tool_name, args, cwd, env=dict()):
|
|||
env_copy = dict(os.environ)
|
||||
env_copy.update(env)
|
||||
|
||||
if sys.version_info[0] < 3:
|
||||
# The subprocess lib cannot accept environment variables as "unicode". Convert to str.
|
||||
# This encoding step is required only in Python 2.
|
||||
for (key, val) in env_copy.items():
|
||||
if not isinstance(val, str):
|
||||
env_copy[key] = val.encode(sys.getfilesystemencoding() or 'utf-8')
|
||||
|
||||
try:
|
||||
# Note: we explicitly pass in os.environ here, as we may have set IDF_PATH there during startup
|
||||
subprocess.check_call(args, env=env_copy, cwd=cwd)
|
||||
|
|
Loading…
Reference in a new issue