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