J'utilise Python 2.7 sur Windows 7 64 bits et, lorsque j'exécute le programme d'installation de setuptools, il m'indique que Python 2.7 n'est pas installé. Le message d'erreur spécifique est:
`Python Version 2.7 required which was not found in the registry`
Ma version installée de Python est la suivante:
`Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32`
Je regarde le site setuptools et il ne mentionne aucun installateur pour Windows 64 bits. Ai-je oublié quelque chose ou dois-je l'installer à partir de la source?
Apparemment (après avoir rencontré des problèmes 64 et 32 bits liés sous OS X), il existe un bug dans le programme d'installation de Windows . Je suis tombé par hasard sur cette solution de contournement , ce qui pourrait aider. En gros, vous créez votre propre valeur de registre HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath
et copiez la valeur InstallPath de HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath
. Voir la réponse ci-dessous pour plus de détails.
Si vous faites cela, sachez que setuptools peut uniquement installer des bibliothèques 32 bits .
REMARQUE: les réponses ci-dessous offrent plus de détails. Veuillez donc les lire aussi.
Problème: vous disposez d'un Python 64 bits et d'un programme d'installation 32 bits. Cela causera des problèmes pour les modules d’extension.
La raison pour laquelle le programme d'installation ne trouve pas Python est l'émulation transparente 32 bits de Windows 7. Les programmes 64 bits et 32 bits vont écrire dans différentes parties du registre Windows.
64 bits: HKLM|HKCU\SOFTWARE\
32 bits: HKLM|HKCU\SOFTWARE\wow6432node\
.
Cela signifie que le programme d’installation Python 64 bits écrit sur HKLM\SOFTWARE\Python
, mais le programme d’installation 32 bits de setuptools regarde HKLM\SOFTWARE\wow6432node\Python
(ce problème est géré automatiquement par Windows, les programmes ne le remarquent pas. ). Ceci est un comportement attendu et non un bug.
Habituellement, vous avez ces choix:
HKLM\SOFTWARE\Python
vers HKLM\SOFTWARE\wow6432node\Python
, mais ceci causera des problèmes avec les distributions binaires, comme en 64 bits Python ne peut pas charger de modules compilés en 32 bits (ne le faites PAS!)Pour setuptools lui-même, par exemple, vous ne pouvez pas utiliser un programme d'installation 32 bits pour Python 64 bits, car il inclut des fichiers binaires. Mais il existe un programme d'installation 64 bits à l'adresse http://www.lfd.uci.edu/~gohlke/pythonlibs/ (possède également de nombreux installateurs pour d'autres modules) . De nos jours, de nombreux paquets sur PyPi ont des distributions binaires, vous pouvez donc les installer via pip.
J'ai créé un fichier de registre (.reg) qui modifiera automatiquement le registre pour vous. Cela fonctionne s'il est installé dans "C:\Python27":
Télécharger la version 32 bitsHKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\wow6432node\
Télécharger la version 64 bitsHKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\
Oui, vous avez raison, le problème concerne les programmes d’installation 64 bits Python et 32 bits pour setuptools.
Le meilleur moyen d'installer setuptools 64 bits sous Windows est de télécharger ez_setup.py sur C:\Python27\Scripts et de l'exécuter. Il téléchargera le fichier .Egg 64 bits approprié pour setuptools et l'installera pour vous.
Source: http://pypi.python.org/pypi/setuptools
P.S. Je vous déconseille d'utiliser des installateurs setuptools tiers-64 bits ou de manipuler le registre.
Récupérez le fichier register.py
de this Gist . Enregistrez-le sur votre lecteur C ou D, accédez à CMD pour l'exécuter avec:
'python register.py'
Ensuite, vous pourrez l'installer.
Créez un fichier nommé python2.7.reg
(fichier de registre) et mettez-y ce contenu:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help\MainPythonDocumentation]
@="C:\\Python27\\Doc\\python26.chm"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath]
@="C:\\Python27\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath\InstallGroup]
@="Python 2.7"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Modules]
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PythonPath]
@="C:\\Python27\\Lib;C:\\Python27\\DLLs;C:\\Python27\\Lib\\lib-tk"
Et assurez-vous que chaque chemin est juste!
Puis lancez-le et faites-le :)
Pour Python 64 bits sur Windows, téléchargez ez_setup.py et exécutez-le; il téléchargera le fichier .Egg approprié et l'installera pour vous.
Au moment de la rédaction, le programme d'installation .exe ne prend pas en charge les versions 64 bits de Python pour Windows, en raison d'un problème de compatibilité du programme d'installation de distutils .
J'ai essayé ce qui précède et l'ajout des clés de registre à LOCALMACHINE ne faisait pas le travail. Donc, si vous êtes toujours bloqué, essayez ceci.
Éditeur de registre Windows version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Python]
[HKEY_CURRENT_USER\LOGICIEL\Python\PythonCore]
[HKEY_CURRENT_USER\LOGICIEL\Python\PythonCore\2.7]
[HKEY_CURRENT_USER\LOGICIEL\Python\PythonCore\2.7\Help]
[HKEY_CURRENT_USER\LOGICIEL\Python\PythonCore\2.7\Aide\Principal Python Documentation] @ = "C:\Python27\Doc\python272.chm"
[HKEY_CURRENT_USER\LOGICIEL\Python\PythonCore\2.7\InstallPath] @ = "C:\Python27 \"
[HKEY_CURRENT_USER\LOGICIEL\Python\PythonCore\2.7\InstallPath\InstallGroup] @ = "Python 2.7"
[HKEY_CURRENT_USER\LOGICIEL\Python\PythonCore\2.7\Modules]
[HKEY_CURRENT_USER\LOGICIEL\Python\PythonCore\2.7\PythonPath] @ = "C:\Python27\Lib; C:\Python27\DLLs; C:\Python27\Lib\lib-tk"
Copier coller ce qui précède dans le bloc-notes et l'enregistrer sous Python27.reg. Maintenant, exécutez/fusionnez le fichier comme indiqué dans les réponses ci-dessus. (Assurez-vous que les chemins d'installation de Python sont corrigés conformément à votre installation.
C'est tout simplement ce que les réponses ci-dessus suggèrent pour une machine locale, pour l'utilisateur actuel.
Pour permettre aux installateurs Windows de trouver le répertoire Python installé dans Windows 7, OU, modifiez l'installation de Python, ajoutez le chemin d'installation dans la valeur de la clé de registre InstallPath (valeur par défaut) :
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.X\InstallPath
Où "X" est la version Python (c'est-à-dire 2.5, 2.6 ou 2.7).
Voici un lien vers un autre post/thread. J'ai pu exécuter ce script pour automatiser l'enregistrement de Python 2.7. (Assurez-vous de l'exécuter à partir du Python 2.x .exe
que vous souhaitez enregistrer!)
Pour enregistrer Python 3.x, je devais modifier la syntaxe print
et importer winreg
(au lieu de _winreg
), puis exécuter le Python 3 .exe
.