5

I have two python versions on my computer 2.7 and 3.4.1 . I have tried to install numpy by pip3.4 which resulted with vcvarsall.bat not found which i am pretty sure it is included in system path. Then i gave up downloaded numpy binary numpy-1.8.1-win32-superpack-python3.4.exe. And during the installation it tells me that numpy cannot find python 3.4 in the registry which i see that it is there also.

HKEY_LOCAL_MACHINE
-SOFTWARE
--Python
---PythonCore
----2.7
-----Help
-----InstallPath
-----Modules
-----PythonPath
----3.4
-----Help
-----InstallPath
-----Modules
-----PythonPath

so what has left me to do from here? My system is windows 7 64 bit.

ifyalciner
  • 1,050
  • 1
  • 10
  • 20

6 Answers6

8

There is an easier fix, remove and re-install python, in the beginning of python setup when you are asked if you want to install python for all users or just this user, select this user only. That way the registry goes into current user by default and can be found easily by successive software packages. Tried it myself, worked like a charm. Just a simpler option for technologically less literate people like myself. But if you need it for multiple users on a PC then you have got to edit the registry and put it in manually, from local machine to current user. Copy it like explained in previous comments.

user4493094
  • 81
  • 1
  • 1
7

When installing numpy on Windows you have to ensure that you are using a .exe for the corresponding Python installation.

As you're using Python 3.4.1 you have to use an installer for Python 3.4.1. The installer that you were using was last modified on 25th March which is before 3.4.1 was released. This suggests it was for 3.4.0 and so will not work.

If you need up-to-date Windows installers for numpy (as well as a large host of other packages) they can be found here.

Ffisegydd
  • 43,058
  • 12
  • 125
  • 109
  • 2
    "The installer that you were using was last modified on 25th March which is before 3.4.1 was released" - Dayum.. Nice catch! – Inversus Aug 02 '14 at 00:09
7

This steps work for me with windows 8.1 64bits

The problem is that some module installers look in the wrong place for Python version information.

For example, in the case of this one module, the installer was looking for HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.4 in the registry.

I found that my Python 3.4 installer had placed this information in HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.2 instead.

Once you know the reason, solving it is easy.

Open Registry Editor (may need administrator privilege) and export HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.4 into a text file. Open the exported .reg file in a text editor and replace the HKEY_LOCAL_MACHINE entries to HKEY_CURRENT_USER.

Add these new entries back to the registry (here is how). The module installer should now be able to proceed without throwing the error.

ref: http://codeyarns.com/2012/04/28/python-version-not-found-in-registry-error/

Ashwin Nanjappa
  • 68,458
  • 72
  • 198
  • 283
Samuel Pinto
  • 869
  • 10
  • 8
3

I have just faced a similar issue ("numpy cannot find python 3.4 in the registry") when installing numpy-1.9.1-win32-superpack-python3.4.exe. The solution was to install the python-3.4.2.msi instead of python-3.4.2.amd64.msi.

  • That doesn't help people who want to use 64-bit Python, which is preferred for the heavy computation that NumPy is associated with. – Alex W Mar 17 '15 at 01:20
1

You are trying to install the 32 bit version of numpy on a 64 bit installation of python. It doesn't look to me like you can download 64bit scipy from sourceforge so a solution is to install a 32bit version of python.

Abilio Faria gave the answer. Another answer in another thread over here

Community
  • 1
  • 1
Francois
  • 21
  • 3
0

I think the changing of the registry works quite well.

Worked wonders for me... quick fix: http://codeyarns.com/2012/04/28/python-version-not-found-in-registry-error/

Ashwin Nanjappa
  • 68,458
  • 72
  • 198
  • 283
yitch
  • 21
  • 2
  • I faced the same issue as I installed Python "for all users". I exported the HKLM key, replaced HKML with HKCU and imported in the HKCU path. Python is now available for some legacy modules. – Alexander Petrovskiy May 06 '16 at 12:10