On 03Feb2016 0839, Paul Moore wrote:
On 3 February 2016 at 16:29, Steve Dower firstname.lastname@example.org wrote:
Final point I want to reiterate - Python itself is essentially registry free already in that it does not need registry settings to function.
That's something we should probably publicise better. People seem unaware of it (in much the same way that they never really noticed zip application support). Maybe we could include a section in the Python 3.6 "What's new" (even though it's not technically new - but I did a quick check of What's New back to 3.2 and couldn't see any mention)?
Maybe, but since it is still potentially problematic I'd rather not right now.
Basically, I don't want to have to support people whose "portable" version of Python works fine on one machine, but has syntax errors in the stdlib on another machine.
Adding the applocal option for 3.5 (described at https://docs.python.org/3.5/using/windows.html) helps with this, but I'm guessing always running in isolated mode is not what most people really want.
Until we genuinely never rely on the registry, I don't want to claim that we don't rely on the registry.
Rest of the email is spelling out how to create the scenario above, since I assume people won't believe it :)
1. Take Python 3.4.1, install it (Just for Me), zip up the stdlib into python34.zip and copy the binaries and zip to a "portable" folder
2. Update to Python 3.4.2 on the main machine
3. Run "-m test test_grammar" with your portable 3.4.1.
4. Boom! SyntaxError in test_grammar.py because you picked up the 3.4.2 stdlib (the error comes from https://hg.python.org/cpython/rev/4ad33d82193d)