[Python-Dev] Python environment registration in the Windows Registry (original) (raw)

Steve Dower steve.dower at python.org
Wed Feb 3 12:53:41 EST 2016


On 03Feb2016 0923, eryk sun wrote:

On Wed, Feb 3, 2016 at 10:46 AM, Steve Dower <steve.dower at python.org> wrote:

sys.path.extend(readsubkeys(fr'HKCU\Software\Python\PythonCore{sys.winver}\PythonPath**')) sys.path.extend(readsubkeys(fr'HKLM\Software\Python\PythonCore{sys.winver}\PythonPath**')) It seems like a bug (in spirit at least) that this step isn't skipped for -E and -I (PyIgnoreEnvironmentFlag, PyIsolatedFlag).

They should be skipped. If not, I'm very much in favour of fixing that immediately in all active branches.

I haven't looked into pywin32's use of this recently - I tend to only use Christoph Gohlke's wheels that don't register anything. I install the pypiwin32 wheel using pip, which uses pypiwin32.pth: # .pth file for the PyWin32 extensions win32 win32\lib Pythonwin import os;os.environ["PATH"]+=(';'+os.path.join(sitedir,"pypiwin32system32")) This is different from a PythonPath subkey in a couple of respects. The paths listed in .pth files are appended to sys.path instead of prepended. They also don't get added when run with -S or for a venv environment that excludes site-packages.

Yeah, there are serious problems with doing these kinds of hacks in .pth files. However, this is not directly affected by the registry, so thankfully not a concern right now.

Cheers, Steve



More information about the Python-Dev mailing list