Problem installing pywin32

From the pywin32 README

If the installation process informs you that Python is not found in the registry, it almost certainly means you have downloaded the wrong version - either for the wrong version of Python, or the wrong "bittedness".

Are you sure you got the right version for your python and your cpu architecture? If you did and that did not work, you might try building from source, I think there might be a command line flag to allow you to specify the python installation location.


Update 2017-06-14 Seems like with python 3.6 the same problem re-apeared. But I found a nice suggestion: There is a pip version of pywin32: Just use

pip install pypiwin32

It did not install the latest version (sourceforge has 221 at the moment, it installed 220), but it worked without registry modifications or any other hacks.

Update 2017-02-01: I just tried the installation of build 220 using Python 3.5.2 32 bit on Windows 10 (64 bit), and everything worked nicely without and need to modify the registry. So the best advice might be to use the most recent build instead of build 219.

Old solution (build 219):

I ran into the same issue today when I tried to install pywin32 together with Python 3.5 win32 under Windows 8.1.

All installers (build 219) for py 3.5 failed, and modifying the registry as described in the posts of Jesus Flores and lauren alsina did not solve the problem.

What did the trick for me was to add the registry entrys not in HKEY_LOCAL_MACHINE but in HKEY_CURRENT_USER and change the python version in PythonCorefrom 3.5-32 to 3.5.

Interestingly enough, with the 3.5-32 key, the 64 bit installer works, but of course you will run into problems because the 64 bit libs installed are not compatible with the 32 bit python. Something is very broken in this installer.

So in summary, my working .reg file for Python 3.5 w32 looks like this:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Python]

[HKEY_CURRENT_USER\SOFTWARE\Python\PyLauncher]
"InstallDir"="C:\\Windows\\"
"AssociateFiles"=dword:00000001
@="C:\\Windows\\py.exe"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\Help]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\Help\Main Python Documentation]
@="C:\\Program Files (x86)\\Python 3.5\\Doc\\python350.chm"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\Idle]
@="C:\\Program Files (x86)\\Python 3.5\\Lib\\idlelib\\idle.pyw"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\IdleShortcuts]
@=dword:00000001

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\InstalledFeatures]
"dev"="3.5.150.0"
"Shortcuts"="3.5.150.0"
"exe"="3.5.150.0"
"lib"="3.5.150.0"
"test"="3.5.150.0"
"doc_shortcut"="3.5.150.0"
"doc"="3.5.150.0"
"tools"="3.5.150.0"
"tcltk"="3.5.150.0"
"pip"="3.5.150.0"
"path"="3.5.150.0"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\InstallPath]
@="C:\\Program Files (x86)\\Python 3.5\\"
"ExecutablePath"="C:\\Program Files (x86)\\Python 3.5\\python.exe"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\InstallPath\InstallGroup]
@="Python 3.5"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\PythonPath]
@="C:\\Program Files (x86)\\Python 3.5\\Lib\\;C:\\Program Files (x86)\\Python 3.5\\DLLs\\"

I had the same problem:

On 64 bit Windows, 32 bit apps are being registered under:

[1] HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python

I reckon the installer is expecting to find Python in:

[2] HKEY_LOCAL_MACHINE\SOFTWARE\Python

With regedit and local admin rights, you can export a .reg file of [1], remove all the "Wow6432Node\" you find, then import it as [2]

Tags:

Python

Pywin32