scikit-hep / uproot-browser

A TUI viewer for ROOT files
BSD 3-Clause "New" or "Revised" License
70 stars 7 forks source link

Windows improvement idea #40

Open henryiii opened 2 years ago

henryiii commented 2 years ago

https://github.com/conda-forge/staged-recipes/pull/18382#issuecomment-1072372718

(%PREFIX%) %SRC_DIR%>uproot-browser plot uproot-Event.root:hstat 
Traceback (most recent call last):
  File "C:\bld\uproot-browser_1647597872464\_test_env\Scripts\uproot-browser-script.py", line 9, in <module>
    sys.exit(main())
  File "C:\bld\uproot-browser_1647597872464\_test_env\lib\site-packages\click\core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "C:\bld\uproot-browser_1647597872464\_test_env\lib\site-packages\click\core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "C:\bld\uproot-browser_1647597872464\_test_env\lib\site-packages\click\core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\bld\uproot-browser_1647597872464\_test_env\lib\site-packages\click\core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\bld\uproot-browser_1647597872464\_test_env\lib\site-packages\click\core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "C:\bld\uproot-browser_1647597872464\_test_env\lib\site-packages\uproot_browser\__main__.py", line 90, in plot
    uproot_browser.plot.show()
  File "C:\bld\uproot-browser_1647597872464\_test_env\lib\site-packages\uproot_browser\plot.py", line 29, in show
    plt.show()
  File "C:\bld\uproot-browser_1647597872464\_test_env\lib\site-packages\plotext\_figure.py", line 287, in show
    write(self.canvas)
  File "C:\bld\uproot-browser_1647597872464\_test_env\lib\site-packages\plotext\_utility\plot.py", line 9, in write
    sys.stdout.write(string)
  File "C:\bld\uproot-browser_1647597872464\_test_env\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 112-187: character maps to <undefined>

Maybe can try this:

sys.stdout.reconfigure(encoding='utf-8')
henryiii commented 6 days ago

If someone sees this problem in the wild, a solution like https://github.com/scientific-python/repo-review/pull/236 would fix it.