Menu

#738 PEP 514 compatibility?

v1.0 (example)
open
nobody
None
1
2017-01-17
2016-12-28
No

So I installed Python 3.6.0 (64 bit), then tried to install pywin32-220.win-amb64-py3.6.exe and it reported


Cannot install

Python version 3.6-32 required, which was not found in the registry.

OK

Not sure what it is looking for in the registry, but PEP 514 maybe changed some of that?

Discussion

  • Elias Fotinis

    Elias Fotinis - 2017-01-02

    Yes, this may be related to the new PEP rules. I had the same problem, but found a quick and dirty way around it:

    To install the 64-bit version go to HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore and temporarily rename the 3.6 subkey to 3.6-32. This will allow the installer to find Python. After you're done, make sure to restore the key to its original value.

    Similarly, for the 32-bit version, go to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore and rename the 3.6-32 subkey to 3.6.

     
  • Georg Mischler

    Georg Mischler - 2017-01-05

    Note that while installing does work after renaming the key to "3.6-32" (thanks for the tip!), the Pythonwin installer will still place its helpfile reference under "3.6". This requires some extra fiddling until the correct situation is established again.
    According to PEP 514, the distinction between 32 and 64 bit versions for PythonCore is not done via the tag, but via the path (32 bit under Wow6432Node). Using a "...-32" tag for a 64 bit version doesn't make for a very obvious logic in any case.

     

    Last edit: Georg Mischler 2017-01-05
  • Xaav

    Xaav - 2017-01-17

    Installing pywin32 from pip is much easier:

    pip install pypiwin32