状況
以下の環境で、Numpy 1.9.2 をインストーラからインストールしようとした時、「python version 3.4 required which was not found in the registry」というダイアログが出て先に進めない場合の対処。
- OS: Windows 7 64bit
- Python: 3.4.3
- Numpy: 1.9.2
Python 3.4.3は公式サイトからmsi形式のインストーラを用いてインストールしたものです。
原因と対応
Numpyが32bit版であるのにPythonが64bit版である場合に起きるようです。具体的には、Pythonのインストーラが python-3.4.3.amd64.msi ではダメで、 python-3.4.3.msi でなくてはいけないということです。したがって、Pythonを適切にインストールしなおせばOKです。
ところで、エラーメッセージを見ると、レジストリにPythonがないことがエラーの原因であるように見えます。しかし、いざPythonをインストールした後にレジストリエディタで探してみても、それらしいものがない。「3. Windows で Python を使う — Python 3.4.3 ドキュメント」によれば、HKEY_CURRENT_USER か HKEY_LOCAL_MACHINE の中に \SOFTWARE\Python\PythonCore\version\PythonPath がありそうなのですが、ない。というか、同記事によれば
Python Home が見つからず、環境変数 PYTHONPATH が指定されず、レジストリエントリが見つからなかった場合、関連するデフォルトのパスが利用されます (例: .\Lib;.\plat-win など)。
とのことなので、なければないで相対パスが用いられ、問題ないように思えます。
レジストリにないことが直接の原因なのかどうかは、私の乏しい知識では判然としないのですが、いずれにせよ、32bit版と64bit版のバージョン違いによる齟齬が原因ではあるのだと思われます。
コメント