7
votes

Problème d'installation de pywin32

J'essaie d'installer Pywin32 pour Python 2.6. J'ai installé Python, mais ce n'est pas dans le lecteur C: sur le lecteur de D:. L'installateur Pywin32 ne le trouve pas et je ne peux pas donner le chemin personnalisé.

J'ai vérifié, le dossier ThePython est le chemin. Y a-t-il une solution de contournement de ce problème?


0 commentaires

11 Réponses :


15
votes

de la PYWIN32 README

Si le processus d'installation vous informe que Python n'est pas trouvé dans le Registre, cela signifie presque certainement que vous avez téléchargé la mauvaise version - soit pour la mauvaise version de Python, soit la mauvaise "paritaire".

Êtes-vous sûr de recevoir la bonne version de votre architecture Python et de votre CPU? Si vous l'avez fait et que cela n'a pas fonctionné, vous pourriez essayer de créer de la source, je pense qu'il pourrait y avoir un drapeau de ligne de commande pour vous permettre de spécifier l'emplacement d'installation Python.


4 commentaires

Je suis sûr que j'ai la bonne version (Python26) et je n'ai pas trouvé de packages différents pour 64 ou 32 architectures (j'ai 64 bits). Donc j'ai essayé de l'installer à partir de la source comme vous l'avez suggéré, mais quand j'exécute SETUP.PY Installez cela me donne un tas d'erreurs


Donc, vous aviez raison, il y avait un problème avec l'architecture. J'ai trouvé une version 64 bits de Pywin32 et ça a fonctionné bien :)


Cette réponse est "incorrecte". Le problème est la clé REG, si Python est installé uniquement pour l'utilisateur, recherchez HKEY_CURRENT_USER \ Software \ Python \ Pythoncore \ 2.7, au lieu de HKEY_LOCAL_MACHINE. Assurez-vous que InstallPath et PythonPath sont correctement définis, par exemple. InstallationPath est C: \ python27, PythonPath est C: \ Python27; C: \ python27 \ lib; c: \ python27 \ dlls.


travaillé pour moi! Bien que vous ayez un processeur Intel (comme je le fais), vous n'avez pas l'air "AMD" et "WIN" dans le nom du paquet, regardez simplement le numéro et choisissez celui qui correspond à votre python ...



8
votes

J'ai eu le même problème:

sur Windows 64 bits, les applications 32 bits sont enregistrées sous:

[1] HKEY_LOCAL_MACHINE \ LOGICIEL \ WOW6432Node \ Python

Je pense que l'installateur s'attend à trouver Python dans:

[2] HKEY_LOCAL_MACHINE \ LOGICIEL \ PYTHON

Avec Regedit et Droit local, vous pouvez exporter un fichier .reg de [1], supprimer tout le "wow6432node \" que vous trouvez, puis l'importer comme [2]


0 commentaires

0
votes

1) Créez un fichier texte avec ce contenu:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.4]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.4\Help]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.4\Help\Main Python Documentation] @="C:\\Python34\\Doc\\python342.chm"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.4\InstallPath] @="C:\\Python34\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.4\InstallPath\InstallGroup] @="Python 3.4"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.4\Modules]

[HKEY_LOCAL_MACHINE\SOFTWARE\PythonCore\3.4\PythonPath] @="C:\\Python34\\Lib;C:\\Python34\\DLLs"


0 commentaires

16
votes

Mise à jour 2017-06-14 On dirait que Python 3.6 Le même problème est re-ajoué. Mais j'ai trouvé une belle suggestion: il y a une version PIP de PYWIN32: utilisez simplement

PIP INSTALL PYPIWIN32

Il n'a pas installé la dernière version (Sourceforge a 221 au moment, il a installé 220), mais cela a fonctionné sans modifications de registre ni autres hacks.

Mise à jour 2017-02-01: Je viens d'essayer l'installation de la construction 220 à l'aide de Python 3.5.2 32 3 32 bits sous Windows 10 (64 bits) et tout fonctionnait bien sans ni besoin de modifier le registre. Donc, le meilleur conseil pourrait être d'utiliser la construction la plus récente au lieu de la construction 219.

Old Solution (Build 219):

J'ai couru dans le même Émettez aujourd'hui lorsque j'ai essayé d'installer Pywin32 avec Python 3.5 Win32 sous Windows 8.1.

Tous les installateurs (construire 219) pour PY 3.5 Échec et modifier le registre décrit dans les messages de Jésus Flores et Lauren Alsina n'a pas résolu le problème.

Qu'est-ce que l'astuce pour moi était d'ajouter les entrées de registre non dans HKEY_LOCAL_MACHINE mais dans HKEY_CURRENT_USER et Changez le PYTHON Version dans pythoncore à partir de 3.5-32 à 3.5 .

assez intéressant, avec le 3.5-32 < / Code> Touche, l'installateur 64 bits fonctionne, mais bien sûr, vous rencontrez des problèmes car les Libs 64 bits installés ne sont pas compatibles avec le python 32 bits. Quelque chose est très cassé dans cet installateur.

Donc, en résumé, mon fichier de travail .reg pour Python 3.5 W32 ressemble à ceci: xxx


4 commentaires

Fonctionne sur Windows 7 et Windows 10 en utilisant Python 3.5 lors de l'utilisation de l'exécutable 32bit. Merci.


Cela a maintenant été corrigé dans Python 3.5.1 ( numéro # 26071 ).


Agréable! Cela fonctionne également avec Python 3.5 64 bits sur Windows 7 avec Pywin32 2.2.0 (Pywin32-220.Win-AMD64-PY3.5.EXE)


Cela devrait être la bonne réponse. PYPIWIN32 est la solution de contournement de la question posée. L'accepté est "incorrect" comme indiqué depuis le commentaire de Fastzhong.



3
votes

J'ai eu le même problème pour le dernier python36-32 exécuté sous Windows 10 64 bits. Toutes les solutions ci-dessus non travaillées pour moi lorsqu'elles sont installées pour tous les utilisateurs .

La réponse de l'OBU ci-dessus a presque travaillé en remplaçant 3.5 à 3.6, puis pywin32 peut détecter le chemin de registre, mais il a toujours échoué avec le code d'erreur ne peut pas créer pywin32-wininst.log. Essayez d'exécuter en tant qu'administrateur . Il suffit d'arrêter l'installation puis de la sortie même si vous l'exécutez déjà en tant qu'administrateur.

Après de nombreux essais, il a été résolu comme ci-dessous:

  1. prendre approche de Obu au-dessus de , remplacement de la version 3.5 à 3.6. < / p>

  2. Enregistrez-le.

  3. Renommez le dossier d'installation par défaut de Python36-32, quelque chose comme ceci: C: \ Program Files (x86) \ Python36-32 à C: \ Program Files (x86) \ Python36 < / code>
  4. Exécutez le programme d'installation PYWIN32 en tant qu'administrateur.

    * S'excuser Je ne peux pas répondre de commentaire ici Limite de réputation dû, alors je crée cette réponse afin d'aider les autres qui ont le même problème que le mien.


1 commentaires

Fonctionne sur Windows 10 en utilisant Python 3.6 x86. Merci.



2
votes

J'ai eu le même problème sur Windows 10 64 bits avec Python 3.6. Il est installé pour tous les utilisateurs (je suppose qu'il utilise une ruche de registre différente au cas où il est installé uniquement pour l'utilisateur actuel).

Le problème était que PYWIN32-220.WIN32-PY3.6.EXE Recherches dans Registre pour HKEY_LOCAL_MACHINE \ LOGICIEL \ WOW6432NODE \ PYTHON \ PYTHONCORE \ 3.6 Tandis que Python 3.6 Configuration créée hkey_local_machine \ logiciel \ wow6432node \ python \ pythoncore \ 3.6-32 .

Notez les différentes fins! Exportation du fichier 3.6-32 du registre vers .reg , modifiant les chemins sur 3.6 et réimportant le registre de fichier résolu le problème pour moi. < / p>


1 commentaires

Et j'ai eu le problème d'inverse. Python 3.6 Configuration Créée HKEY_LOCAL_MACHINE \ LOGICIEL \ PYTHON \ PYTHONCORE \ 3.6 tandis que PYWIN avait besoin HKEY_LOCAL_MACHINE \ logiciel \ python \ pythoncore \ 3.6-32 . J'ai dû renommer temporairement la clé pour toucher l'installation au travail.



0
votes

J'étais dans une situation similaire, essayant d'installer pywin32 em> mais avec un winPyThon une> installation portable. Après assez de googling, j'ai trouvé un lien vers cet immense référentiel de packages dans .whl code> bacs par Christoph Gohlke .

Téléchargez le fichier de roue approprié pour votre version Python, dans mon cas 3.6.1 sur 32 bits et installez-la via pip em>: p>

pip install pywin32‑221‑cp36‑cp36m‑win32.whl


0 commentaires

-1
votes

Pywin32 Build 219 a un problème en ce sens qu'il recherche l'emplacement d'installation de Python 3.5 32 bits dans la mauvaise clé de registre. Ce problème est fixé dans les bâtiments PYWIN32 ultérieurs - 220 et 221 sont ceux que j'ai essayés - et ils trouvent correctement l'emplacement de l'installation Python dans le registre. Vous pouvez voir le billet Pywin32 ici .

Si vous avez besoin de la construction 219, Ensuite, vous pouvez renommer temporairement l'entrée de registre. P>

i Installez Python pour tous les utilisateurs de mon PC, de sorte que les entrées de registre de ma machine sont dans HKEY_LOCAL_MACHINE CODE>. Si vous installez Python par utilisateur, les entrées de registre seront dans HKEY_CURRENT_USER CODE>. En outre, mon objet COM est 32 bits, nous utilisons donc le python 32 bits. p>

Les entrées de registre Python 32 bits seront situées à: \ logiciel \ wow6432node \ python \ pythoncore code>. p>

Les entrées de registre de python 64 bits seront être situé à: \ logiciel \ python \ pythoncore code>. p>

Dans mon cas, j'ai eu deux entrées qui devaient être renommées temporairement: p> xxx pré> > L'emplacement de l'installation Python se trouve dans la touche CODE> INSTALLPATH CODE>, laquelle sur ma machine est à l'adresse suivante: p> xxx pré>

mon \ pythoncore \ 3.5 dossier n'a que la référence \ help \ pythonwin référence code>, qui est dupliquée dans le dossier \ pythoncore \ 3.5-32 code>, donc je pense que cette clé est laissée. à partir d'une installation précédente et n'est plus pertinente. Cependant, je n'ai pas choisi de le supprimer et je renommé temporairement comme suit: p>

de: p> xxx pré>

à: p>

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5


0 commentaires

0
votes

Cela devrait fonctionner pour Python 3.5 Utilisateurs:

py -3.5 -m pip install pywin32


0 commentaires

0
votes

J'ai couru dans ce problème exact, mais il me semblait que ma situation était un peu différente et que je ne voulais pas avoir à utiliser un bidouillage de registre. J'ai donc commencé à poster une nouvelle question. Voici ce que j'allais écrire:


J'ai les deux versions de 64 bits et 32 ​​bits de Python 3.7 installé sur ma machine Windows 7. La version 64 bits est installée dans C: \ Python37 et la version 32 bits est installée en C: \ python37-32. J'ai le package Pywin32 installé dans la version 64 bits mais pas dans la version 32 bits. Lorsque je démarre une fenêtre de commande, passez à C: \ Python3Y-32 et exécutez "PIP INSTALL PYWIN32", on me dit qu'il est déjà installé en C: \ python37. Oui je sais. Je veux qu'il soit installé ailleurs. J'ai essayé de télécharger un fichier de roue et d'installer cela, avec le même résultat. J'ai essayé de renommer mon dossier C: \ python37 à "C: \ Python37 64 bits" et renommer C: \ python37-32 à c: \ python37, mais le PIP m'a donné une erreur fatale:

erreur fatale dans le lanceur: impossible de créer un processus en utilisant '"C: \ python37-32 \ python.exe"
"C: \ Python37 \ scripts \ pip.exe" Installez "c: \ users \\ téléchargements \ PYWIN32-223-CP37-CP37M-WIN32.WHL "'

(ruptures de ligne ajoutées pour la lisibilité)


Mais puis j'ai regardé à nouveau ce message d'erreur et réalisa que la chaîne citée est une commande. J'ai copié cette chaîne, passée dans le dossier C: \ python37-32 de ma fenêtre de commande, a collé la chaîne, retiré la référence à C: \ python37 et le ran. Pas de problème.


0 commentaires

0
votes

ManualInstall

Obtenez le fichier WHL de ce dont vous avez besoin et renommez-le à un zip. p>

extraire que le fichier zip sur un répertoire. P>

Voici un code de lot pour INSTALLATION: P>

set /p "S1=Manual Install - Wheel (ZIP) extract directory: "
set /p "S2=Python installation directory: "
RoboCopy %S1% "%S2%\Lib\site-packages"


0 commentaires