Garbled output from pipenv in a WSL window #549

Closed
opened 2026-01-30 21:55:01 +00:00 by claunia · 8 comments
Owner

Originally created by @pcolmer on GitHub (Feb 4, 2019).

  • Your Windows build number: 10.0.17763.253

  • What you're doing and what's happening:

I'm trying to use "pipenv" in an Ubuntu WSL window, typically with a command like:

pipenv install

in a directory where there is a git repo and a Pipfile that states which packages need to be installed.

If I do this in a Windows command shell window, the progress bar displayed is acceptable (a bunch of equals signs).

cmd_srqvdhscs4

If I do this in a PuTTY window to an Ubuntu server, I get a rotating series of dots in a box and then a symbol with some boxes in the progress bar:

putty_acykmkcy6o

However, if I do this in an Ubuntu WSL window, I get lots of question marks:

ubuntu1804_i3ituvght2

I've set the local to en_US.UTF8 but that hasn't helped.

  • What's wrong / what should be happening instead:

My preference would be for the output from pipenv to match that displayed on an Ubuntu server. However, if that isn't possible, if the output could match that displayed in a Windows command shell window, it would be acceptable. Almost anything is better than the question marks :)

Originally created by @pcolmer on GitHub (Feb 4, 2019). * Your Windows build number: 10.0.17763.253 * What you're doing and what's happening: I'm trying to use "pipenv" in an Ubuntu WSL window, typically with a command like: pipenv install in a directory where there is a git repo and a Pipfile that states which packages need to be installed. If I do this in a Windows command shell window, the progress bar displayed is acceptable (a bunch of equals signs). ![cmd_srqvdhscs4](https://user-images.githubusercontent.com/1979931/52213577-657e9000-2887-11e9-946d-2a0efecb1af5.png) If I do this in a PuTTY window to an Ubuntu server, I get a rotating series of dots in a box and then a symbol with some boxes in the progress bar: ![putty_acykmkcy6o](https://user-images.githubusercontent.com/1979931/52213542-4ed83900-2887-11e9-822b-10f832538d52.png) However, if I do this in an Ubuntu WSL window, I get lots of question marks: ![ubuntu1804_i3ituvght2](https://user-images.githubusercontent.com/1979931/52213615-7b8c5080-2887-11e9-84ca-050bc22dd70e.png) I've set the local to en_US.UTF8 but that hasn't helped. * What's wrong / what should be happening instead: My preference would be for the output from pipenv to match that displayed on an Ubuntu server. However, if that isn't possible, if the output could match that displayed in a Windows command shell window, it would be acceptable. Almost anything is better than the question marks :)
claunia added the Product-ConhostArea-OutputArea-RenderingIssue-BugNeeds-Tag-Fix labels 2026-01-30 21:55:01 +00:00
Author
Owner

@DHowett commented on GitHub (Feb 4, 2019):

Hey @pcolmer,
It looks like you’re using Raster Fonts (or the “Terminal” font.) That font was designed to mimic old VGA text mode consoles from 1980, and doesn’t support the fancy box characters pipenv is using.

It looks like Windows pipenv specifically falls back to using = for the progress bar, but pipenv on Linux does no such thing.

I recommend that you choose a font designed for the needs of the current century. If you really prefer the VGA aesthetic, there should be a font called “VGA 437” floating around the internet somewhere...

@DHowett commented on GitHub (Feb 4, 2019): Hey @pcolmer, It looks like you’re using Raster Fonts (or the “Terminal” font.) That font was designed to mimic old VGA text mode consoles from 1980, and doesn’t support the fancy box characters pipenv is using. It looks like Windows pipenv specifically falls back to using `=` for the progress bar, but pipenv on Linux does no such thing. I recommend that you choose a font designed for the needs of the current century. If you really prefer the VGA aesthetic, there should be a font called “VGA 437” floating around the internet somewhere...
Author
Owner

@pcolmer commented on GitHub (Feb 4, 2019):

Thanks for the reply, @DHowett. Please understand that I've only got my system set up as Microsoft delivered it.

Looking further at the console properties for WSL, I've tried selecting a number of different TrueType fonts but they all give me a degraded output (compared to an Ubuntu server), just using boxes instead of question marks now:

ubuntu1804_jek8kiiqwu

PuTTY is configured to use Courier New; I've tried that font and got the above result.

I'm only reporting this in case there is a way to further improve the end user experience. I'm not deliberately living in the 1980s.

@pcolmer commented on GitHub (Feb 4, 2019): Thanks for the reply, @DHowett. Please understand that I've only got my system set up as Microsoft delivered it. Looking further at the console properties for WSL, I've tried selecting a number of different TrueType fonts but they all give me a degraded output (compared to an Ubuntu server), just using boxes instead of question marks now: ![ubuntu1804_jek8kiiqwu](https://user-images.githubusercontent.com/1979931/52214903-c0fe4d00-288a-11e9-9a05-de7396352a50.png) PuTTY is configured to use Courier New; I've tried that font and got the above result. I'm only reporting this in case there is a way to further improve the end user experience. I'm not deliberately living in the 1980s.
Author
Owner

@DHowett commented on GitHub (Feb 4, 2019):

@pcolmer I didn’t intend to impugn you; I’m sorry about that! I also didn’t notice the emoji at the beginning of the line. That’ll be #190, which is definitely on our backlog.

As for the rest of the boxes, I’m somewhat surprised they don’t work. Unless they’re high Unicode (>0xFFFF), those should be working fine. I’ll have a look.

Thanks!

@DHowett commented on GitHub (Feb 4, 2019): @pcolmer I didn’t intend to impugn you; I’m sorry about that! I also didn’t notice the emoji at the beginning of the line. That’ll be #190, which is definitely on our backlog. As for the rest of the boxes, I’m somewhat surprised they don’t work. Unless they’re high Unicode (>0xFFFF), those should be working fine. I’ll have a look. Thanks!
Author
Owner

@craph commented on GitHub (Sep 24, 2020):

I have the same issue too.
image

How can we fix that ?

@craph commented on GitHub (Sep 24, 2020): I have the same issue too. ![image](https://user-images.githubusercontent.com/14820052/94157615-ba6a8200-fe81-11ea-9834-89f4e7101fd0.png) How can we fix that ?
Author
Owner

@DHowett commented on GitHub (Sep 25, 2020):

Does it work in Windows Terminal?

@DHowett commented on GitHub (Sep 25, 2020): Does it work in _Windows Terminal_?
Author
Owner

@craph commented on GitHub (Sep 25, 2020):

@DHowett Yes it's only working in Windows Terminal
image

Why it's not working in Ubuntu App directly ?
image
image

@craph commented on GitHub (Sep 25, 2020): @DHowett Yes it's only working in _Windows Terminal_ ![image](https://user-images.githubusercontent.com/14820052/94230855-24773b80-ff03-11ea-8274-72a5d599d9d8.png) Why it's not working in Ubuntu App directly ? ![image](https://user-images.githubusercontent.com/14820052/94230920-44a6fa80-ff03-11ea-9597-eb2a0d59d9be.png) ![image](https://user-images.githubusercontent.com/14820052/94157615-ba6a8200-fe81-11ea-9834-89f4e7101fd0.png)
Author
Owner

@DHowett commented on GitHub (Sep 25, 2020):

This is because the traditional console host does not have support for font fallback, and the font that has been chosen doesn't suppose those glyphs. Can you copy/paste some text from that progress bar so that we can see what character it's using?
Thanks!

@DHowett commented on GitHub (Sep 25, 2020): This is because the traditional console host does not have support for font fallback, and the font that has been chosen doesn't suppose those glyphs. Can you copy/paste some text from that progress bar so that we can see what character it's using? Thanks!
Author
Owner

@eryksun commented on GitHub (Sep 26, 2020):

Can you copy/paste some text from that progress bar so that we can see what character it's using?

I checked pipenv install. Here are three characters it wrote that either aren't supported in the conhost console window or are conditionally supported depending on the selected font:

  • 🐍 (U+1F40D, SNAKE)
  • ⠋ (U+280B, BRAILLE PATTERN DOTS-124)
  • ▉ (U+2589, LEFT SEVEN EIGHTHS BLOCK)

Non-BMP characters such as the snake character aren't supported. Otherwise it's up to the font. The last two are supported by Cascadia Code, but not Consolas, Courier New, or Lucida Console. If you prefer the look of Consolas and have Cascadia installed at the system level, then you can configure system font linking in "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink". To manually link Consolas to Cascadia, add a REG_MULTI_SZ value named "Consolas" with the line "CASCADIA.TTF,Cascadia", and restart the system.

@eryksun commented on GitHub (Sep 26, 2020): > Can you copy/paste some text from that progress bar so that we can see what character it's using? I checked `pipenv install`. Here are three characters it wrote that either aren't supported in the conhost console window or are conditionally supported depending on the selected font: * 🐍 (U+1F40D, SNAKE) * ⠋ (U+280B, BRAILLE PATTERN DOTS-124) * ▉ (U+2589, LEFT SEVEN EIGHTHS BLOCK) Non-BMP characters such as the snake character aren't supported. Otherwise it's up to the font. The last two are supported by Cascadia Code, but not Consolas, Courier New, or Lucida Console. If you prefer the look of Consolas and have Cascadia installed at the system level, then you can configure system font linking in "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink". To manually link Consolas to Cascadia, add a `REG_MULTI_SZ` value named "Consolas" with the line "CASCADIA.TTF,Cascadia", and restart the system.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#549