web-dev-qa-db-ja.com

Python 2.7.3 32ビットと64ビットをWindowsに並べてインストールする方法

Windows Vista 64を使用しています。

Python 2.7.3 64ビットを必要とするプロジェクトと、Python 2.7.3 32ビットを必要とする拡張機能があります(一部の拡張機能は64ビットで動作しないため)。

Python 2.7.3 MSIインストーラー(32または64ボット)が他のバージョンを削除しないようにする方法を教えてください。

Python 2.7.2で問題なく並んでくれました。

30

これはWindows 7 64ビットで動作しているようです。デフォルトのインストールにするバージョンを1つ選択します。 64ビット、最初にインストールします。他の作業を行う前に、他のバージョンをインストールしてください。

別のインストールディレクトリを指定し、Customize Python 2.7.3画面でRegister Extensionsを選択し、Entire feature will be unavailableを選択します。

28
Nicola Musatti

通常、複数のPythonバージョンを並べてインストールできます。Windowsにインストールする場合、ファイルのインストールとは別に、レジストリも更新され、後続のパッケージ/ツールのインストールですべてのPython現在のm/cでのインストール。 問題が発生するのは、インストールが同じバージョンでビット数が異なる場合のみです。なぜなら、レジストリのパスSOFTWARE\Python\Pythoncore \はビット数とバグ修正で区別されないため、InstallPathおよびPythonPathバグ修正またはビット数が異なる同じバージョンをインストールする場合。

解決

  • ビット数の異なる2つの異なるバージョンをインストールします。
  • ビット数を切り替えるたびにレジストリキーを更新するスクリプトを準備します。 effbot の簡単な同様のスクリプトを偶然見つけて、これがジョブを実行します。

更新

Ruediger Jungbeckが2つの異なるレジストリキーを見ることができると指摘したとき、私は突然、Vistaの後の重要な変更を思い出しました。 64ビットシステムでは、32ビットおよび64ビットアプリケーションからレジストリキーにアクセスできるようにするために、Windowsは重要なノードでレジストリを分割します。 64ビットアプリケーションの場合はネイティブレジストリパスですが、32ビットアプリケーションの場合はWoW6432Nodeです。そのため、32ビットバージョンのPython\Tools\extensionを実行すると、Wow6432Nodeのみが表示されます。 64ビットアプリケーションでは、ネイティブノードのみが表示されます。クロスビットネスノードにアクセスするAPIがありますが、これはこの質問の範囲外です。要約すると、ウィンドウは、32ビット拡張機能が透過的に32ビットPythonインストールにアクセスできるようにするノードを分割することにより、32ビットおよび64ビットアプリケーションをインテリジェントに処理します。

3
Abhijit

2番目のpythonのインストール中に、拡張機能を登録するために「機能全体を使用できません」オプションを選択します。 Python 64インストールパスはレジストリ「HKLM:SOFTWARE\Python\PythonCore\2.7\InstallPath」にあります

Python 64ビットPythonPathは「HKLM:SOFTWARE\Python\PythonCore\2.7\PythonPath」にあります

Python 32のインストールパスはレジストリ「HKLM:SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath」にあります

Python 32ビットPythonPathは「HKLM:SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PythonPath」にあります

Customize Python with disabling extions

2
Shiva Prasad