web-dev-qa-db-fra.com

Comment installer Python 2.7.3 32 bits et 64 bits sous Windows côte à côte

J'ai Windows Vista 64.

J'ai certains projets nécessitant Python 2.7.3 64 bits et d'autres nécessitant Python 2.7.3 32 bits (car certaines extensions ne fonctionnent pas en 64 bits).

Comment puis-je empêcher le programme d'installation Python 2.7.3 MSI (32 ou 64 bot) de supprimer l'autre version.

Côte à côte a fonctionné pour moi avec Python 2.7.2 sans problèmes.

30
Ruediger Jungbeck

Cela semble fonctionner pour moi sur Windows 7 64 bits. Choisissez une version comme installation par défaut, par exemple 64 bits, et installez-le d'abord. Avant de faire quoi que ce soit d'autre, installez l'autre version.

Spécifiez un répertoire d'installation différent et dans le Customize Python 2.7.3 écran sélectionner Register Extensions et sélectionnez Entire feature will be unavailable.

28
Nicola Musatti

Vous pouvez généralement installer plusieurs versions de Python côte à côte. Lors de l'installation sous Windows, à part l'installation des fichiers, le registre est également mis à jour afin que toute installation ultérieure de package/outils puisse énumérer tous les Python Installation dans le m/c actuel. Seul problème se produit si l'installation concerne la même version mais un bitness différent. Comme parce que le chemin du registre SOFTWARE\Python\Pythoncore\ ne se différencie pas avec le bitness et le bug-fix, vous finirez par superposer le InstallPath et PythonPath si vous installez la même version avec une correction de bogue ou un bitness différent .

Solution

  • Installez deux versions différentes pour différents témoins.
  • Préparez un script pour mettre à jour la clé de registre chaque fois que vous souhaitez basculer entre les témoins. Je suis tombé sur un simple script similaire dans effbot qui fait le travail.

Mise à jour

Comme Ruediger Jungbeck a souligné qu'il peut voir deux clés de registre différentes, je me suis soudain souvenu d'un changement important après Vista. Sur un système 64 bits afin de permettre l'accès aux clés de registre à partir des applications 32 bits et 64 bits, Windows divise le registre aux nœuds importants. Pour les applications 64 bits, c'est le chemin du registre natif mais pour les applications 32 bits, c'est le WoW6432Node. Ainsi, lors de l'exécution d'une version 32 bits de l'extension Python\Tools \, il ne verra que le Wow6432Node. Les applications 64 bits ne verront que le nœud natif. Il existe des API pour accéder aux nœuds croisés, mais cela sort du cadre de cette question. Pour résumer, Windows gère intelligemment les applications 32 et 64 bits en divisant le nœud, ce qui permettra aux extensions 32 bits d'accéder de manière transparente à l'installation 32 bits Python.

3
Abhijit

Lors de l'installation de 2nd python, pour Register Extensions, sélectionnez l'option "Toute la fonctionnalité sera indisponible". Python 64 Le chemin d'installation sera dans le registre "HKLM: SOFTWARE\Python\PythonCore\2.7\InstallPath"

Python 64 bits PythonPath sera dans "HKLM: SOFTWARE\Python\PythonCore\2.7\PythonPath"

Le chemin d'installation de Python 32 sera dans le registre "HKLM: SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath"

Python 32 bits PythonPath sera dans "HKLM: SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PythonPath"

Customize Python with disabling extions

2
Shiva Prasad