Redirecting `pio pkg list` output crashes
Author: AgainPsychoXCreated Dec 20, 2024Updated Sep 5, 2026
Labelsbugknown issue
What kind of issue is this?
- PlatformIO Core. If you’ve found a bug, please provide an information below.
Configuration
Operating system: Windows 10
PlatformIO Version (platformio --version): PlatformIO Core, version 6.1.16
Description of problem
Steps to Reproduce
- Open PlatformIO CLI enabled PowerShell terminal
- Try
pio pkg list - Then try
pio pkg list > file.log
Actual Results
- Works.
- Crashes.
PS D:\Projects\+embedded\YellowToyCar> pio pkg list > xd.log
UnicodeEncodeError: Traceback (most recent call last):
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\platformio\__main__.py", line 103, in main
cli() # pylint: disable=no-value-for-parameter
^^^^^
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\click\core.py", line 1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\click\core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\platformio\cli.py", line 85, in invoke
return super().invoke(ctx)
^^^^^^^^^^^^^^^^^^^
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\click\core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\click\core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\click\core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\click\core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\platformio\package\commands\list.py", line 56, in package_list_cmd
list_project_packages(options)
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\platformio\package\commands\list.py", line 179, in list_project_packages
_found = print_project_env_platform_packages(env, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\platformio\package\commands\list.py", line 205, in print_project_env_platform_packages
print_dependency_tree(
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\platformio\package\commands\list.py", line 99, in print_dependency_tree
click.echo(
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\platformio\__main__.py", line 89, in <lambda>
click.echo = lambda *args, **kwargs: _safe_echo(0, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\platformio\__main__.py", line 83, in _safe_echo
click_echo_origin[origin](*args, **kwargs)
File "C:\Users\PsychoX\.platformio\penv\Lib\site-packages\click\\\utils.py", line 318, in echo
file.write(out) # type: ignore
^^^^^^^^^^^^^^^
File "C:\Users\PsychoX\.platformio\python3\Lib\encodings\cp1250.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-2: character maps to <undefined>file.log:
Resolving esp32cam dependencies...
Platform espressif32 @ 6.8.1 (required: espressif32 @ ^6.8.1)Expected Results
I just wanted to redirect the command output to the file, just save to file to ease reading hundreds of lines long output...
If problems with PlatformIO Build System:
The content of platformio.ini:
; PlatformIO Project Configuration File
;
; Since ESP-IDF is used, quite a lot is configured ESP-IDF ways, incl. CMake.
; Dependencies are managed by ESP-IDF (components) and by Git submodules.
; See `CMakeLists.txt` files and `idf_component.yml`.
[platformio]
default_envs = esp32s3eye_debug
[base]
platform = espressif32@^6.8.1
framework = espidf
monitor_speed = 115200
monitor_filters =
default
esp32_exception_decoder
time
log2file
extra_scripts =
pre:scripts/pio/gzip_web_embeds.py
scripts/pio/extra_c_cpp_properties.py
board_build.embed_files =
src/index.html.gz
[env:esp32cam] # aka AI-Thinker
extends = base
board = esp32cam
build_flags = -DMODEL_ESP32CAM
build_type = release
[env:esp32cam_debug]
extends = base, env:esp32cam
build_type = debug
[env:esp32s3eye] # WROOM N16R8
extends = base
board = esp32-s3-devkitc-1
board_build.arduino.memory_type = qio_opi
board_build.arduino.partitions = default_16MB.csv
board_build.flash_mode = qio
board_build.psram_type = opi
board_upload.flash_size = 16MB
board_upload.maximum_size = 16777216
board_upload.speed = 921600
board_build.extra_flags = -DBOARD_HAS_PSRAM
build_flags = -DMODEL_ESP32S3EYE
build_type = release
[env:esp32s3eye_debug]
extends = base, env:esp32s3eye
build_type = debug(idk, if useful, but flexing ;) )
Source file to reproduce issue: N/A
Additional info
Any redirection causes similar problem, incl. pio pkgs list | more.
Source: platformio/platformio-core