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

J'ai Windows Vista 64.

j'ai quelques projets nécessitant Python 2.7.3 64 bits et les autres exigeant Python 2.7.3 32 bits (car certaines extensions ne fonctionnent pas en 64 bits).

Comment puis-je empêcher L'installateur 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.

28
demandé sur Ruediger Jungbeck 2012-04-17 11:35:43

3 réponses

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

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

27
répondu Nicola Musatti 2012-09-16 16:02:32

vous pouvez généralement installer plusieurs versions de Python côte à côte. Lors de L'installation dans Windows, en dehors de l'installation de fichiers, registry est également mis à jour afin que toute installation de paquet/outils ultérieure puisse énumérer toute L'Installation Python dans le m/C. seul problème se produit si l'installation est pour la même version mais avec une bitness différente. Comme de raison, le Chemin d'accès du registre SOFTWARE\Python\Pythoncore\ ne se différencie pas avec le bitness et bug-fix, vous finirait par la superposition de l' InstallPath et PythonPath si vous installez la même version avec une correction de bug différente ou un bitness différent.

Solution

  • installer deux Versions différentes pour un bitness différent.
  • préparez un script pour mettre à jour la clé de Registre chaque fois que vous voulez basculer entre le bitness. Il m'est arrivé de tomber sur un simple script similaire au effbot ce qui ne l' Emploi.

mise à Jour

comme Ruediger Jungbeck l'a souligné, il peut voir deux clés de registre différentes, je me suis soudain souvenu d'un changement important post Vista. Sur un système 64 bits afin de permettre l'accès aux clés de registre de 32 bits et 64 bits, Windows divise le registre des 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. Donc, lors de l'exécution d'une Version 32 bits de Python\Tools\extension, il ne verra que le Wow6432Node. Les applications 64 bits ne verront que le noeud natif. Il y a des API pour accéder aux noeuds de bitness, mais c'est en dehors de la portée de cette question. En résumé, windows gère intelligemment les applications 32 et 64 bits en divisant le noeud, ce qui permettra aux extensions 32 bits d'accéder de façon transparente à l'Installation Python 32 bits.

3
répondu Abhijit 2012-04-17 11:06:58

lors de l'installation de 2nd python, pour enregistrer les Extensions, sélectionnez "L'ensemble de la fonctionnalité ne sera pas disponible". Le chemin d'Installation de Python 64 sera dans le Registre "HKLM: SOFTWARE\Python\PythonCore\2.7\InstallPath"

Python 64 bit 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 en "HKLM: SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PythonPath"

Customize Python with disabling extions

1
répondu Shiva Prasad 2016-04-06 07:32:05