I'm talking about the user's override of the system default.

This is indeed a limitation, but I’m not sure that’s a bad thing. As I think I’ve said before, utf-8 mode is probably not a feature you want turned on for ALL instances of Python, even all instances for a single user.

So if a user wants to use UTF-8 mode, and they don’t have admin privileges, and it’s not the system default, then they need to use a user-controlled Python or environment— just llke they do when they want to use a diffferent Python version or set of packages, etc than the system version. 

I don’t use Windows much, but when I do, it’s a very locked down system, so I have every sympathy for folks without admin privileges. 

Also — when it comes to environments, I don’t recommend them to Python newbies either — but once you start to need Python for multiple applications with different requirements (including utf-8 mode) then environments are the solution. 

>> Maybe the answer is that there is only one user defined override possible and all versions use it.

That is exactly what I wouldn’t recommend. 

I'm not sure that Linux and macOS

I’m prettty sure that macOS is guaranteed (for now) to have utf-8 as the system encoding. 

But not sure for all other supported platforms. (All flavors of Linux?) But in practice, the vast majority are using utf-8, so it’s a non-issue.

And if we ever do get to utf-8 as the Python default, then it’s guaranteed to be a moot point.

By the way, if we go with pyvenv.cfg then an option should be added to the venv command as well.

-CHB


--
Christopher Barker, PhD (Chris)

Python Language Consulting
  - Teaching
  - Scientific Software Development
  - Desktop GUI and Web Development
  - wxPython, numpy, scipy, Cython