2011-07-12 18 views
7

Próbuję zainstalować pywin32 dla Pythona 2.6. Mam zainstalowany Python, ale nie ma go w zwykłym dysku c:, ale na dysku d :. Instalator pywin32 go nie znajduje i nie mogę podać niestandardowej ścieżki do niego.Problem podczas instalacji pywin32

Sprawdziłem, folder thepython jest ścieżką. Czy istnieje obejście tego problemu?

Odpowiedz

14

Od README pywin32

Jeśli proces instalacji informuje, że Python nie znajduje się w rejestrze , to prawie na pewno oznacza, że ​​pobrałeś złą wersję - zarówno do niewłaściwej wersji Pythona, lub zła "bittingness".

Czy na pewno masz odpowiednią wersję dla swojej architektury Pythona i procesora? Jeśli to zrobiłeś i to nie działało, możesz spróbować budować ze źródła, myślę, że może być flaga linii poleceń, która pozwoli ci określić lokalizację instalacji pythona.

+0

Jestem pewien, że mam odpowiednią wersję (Python26) i nie znalazłem innych pakietów dla 64 lub 32 architektury (mam 64bit). Próbowałem więc zainstalować go ze źródła, jak sugerowałeś, ale kiedy uruchomię instalację setup.py, daje mi to mnóstwo błędów. – Johanna

+0

Tak więc miałeś rację, był problem z architekturą.Znalazłem 64-bitową wersję pywin32 i działało dobrze :) – Johanna

+6

Ta odpowiedź jest "nieprawidłowa". Problem jest kluczem reg, jeśli Python jest zainstalowany tylko dla użytkownika, poszukaj HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7, zamiast HKEY_LOCAL_MACHINE. Upewnij się, że opcje InstallPath i PythonPath są ustawione poprawnie, np. InstallPath to C: \ Python27, PythonPath to C: \ Python27; C: \ Python27 \ Lib; C: \ Python27 \ DLLs. – FastZhong

8

że ten sam problem:

w 64-bitowym Windows, 32-bitowe aplikacje są zarejestrowane pod:

[1] HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Pythonie

że liczyć instalator spodziewa się znaleźć w Python:

[2] HKEY_LOCAL_MACHINE \ SOFTWARE \ Python

z regedit i lokalnymi uprawnieniami administratora, to c eksport pliku .reg z [1], usunąć wszystkie "Wow6432Node \" można znaleźć, a następnie zaimportować je jako [2]

+0

Dziękuję bardzo! To rozwiązało mój problem. – user4447655

0

1) Utwórz plik tekstowy z tym treści:

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" 

2) Zastąp fragment C: \\ Python34 ścieżką, w której zainstalowałeś pythona.

3) Zapisz plik jako * .reg

4) Uruchom plik do łączenia z Rejestru.

Właśnie testowałem, aby zainstalować pywin32 i działa!

14

Aktualizacja 2017-06-14 Wygląda na to, że w pythonie 3.6 ponownie pojawił się ten sam problem. Ale znalazłem piękny sugestia: Istnieje wersja PIP z pywin32: wystarczy użyć

pip install pypiwin32

Nie zainstalować najnowszą wersję (SourceForge ma 221 w tej chwili, to zainstalowane 220), ale to działało bez modyfikacje rejestru lub inne hacki.

Aktualizacja 1.02.2017: prostu próbowałem instalacji build 220 przy użyciu Pythona 3.5.2 32 bit w systemie Windows 10 (64-bitowy), i wszystko działało dobrze i bez konieczności modyfikowania rejestru. Najlepszą radą może być więc użycie najnowszej kompilacji zamiast kompilacji 219.

Stare rozwiązanie (build 219):

wpadłem na tej samej kwestii dziś, gdy próbowałem zainstalować pywin32 wraz z Python 3.5 Win32 pod Windows 8.1.

Wszystkie instalatory (kompilacja 219) dla protokołu 3.5 nie powiodły się, a modyfikowanie rejestru zgodnie z opisem w poście Jezus Flores i lauren alsina nie rozwiązało problemu.

Co wystarczyły dla mnie było, aby dodać rejestr nie wpisach w HKEY_LOCAL_MACHINE ale w HKEY_CURRENT_USERi zmienić wersję Pythona PythonCore z 3.5-32 do 3.5. Interesujące jest to, że z kluczem działa instalator 64-bitowy, ale oczywiście wystąpią problemy, ponieważ zainstalowane biblioteki 64-bitowe nie są kompatybilne z pytonem 32-bitowym. Coś jest bardzo zepsute w tym instalatorze.

Tak w skrócie, mój plik .reg pracujących dla Pythona 3.5 W32 wygląda następująco:

Windows Registry Editor Version 5.00 

[HKEY_CURRENT_USER\SOFTWARE\Python] 

[HKEY_CURRENT_USER\SOFTWARE\Python\PyLauncher] 
"InstallDir"="C:\\Windows\\" 
"AssociateFiles"=dword:00000001 
@="C:\\Windows\\py.exe" 

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore] 

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5] 

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\Help] 

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\Help\Main Python Documentation] 
@="C:\\Program Files (x86)\\Python 3.5\\Doc\\python350.chm" 

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\Idle] 
@="C:\\Program Files (x86)\\Python 3.5\\Lib\\idlelib\\idle.pyw" 

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\IdleShortcuts] 
@=dword:00000001 

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\InstalledFeatures] 
"dev"="3.5.150.0" 
"Shortcuts"="3.5.150.0" 
"exe"="3.5.150.0" 
"lib"="3.5.150.0" 
"test"="3.5.150.0" 
"doc_shortcut"="3.5.150.0" 
"doc"="3.5.150.0" 
"tools"="3.5.150.0" 
"tcltk"="3.5.150.0" 
"pip"="3.5.150.0" 
"path"="3.5.150.0" 

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\InstallPath] 
@="C:\\Program Files (x86)\\Python 3.5\\" 
"ExecutablePath"="C:\\Program Files (x86)\\Python 3.5\\python.exe" 

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\InstallPath\InstallGroup] 
@="Python 3.5" 

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\PythonPath] 
@="C:\\Program Files (x86)\\Python 3.5\\Lib\\;C:\\Program Files (x86)\\Python 3.5\\DLLs\\" 
+0

Działa w systemie Windows 7 i Windows 10 przy użyciu Python 3.5 podczas korzystania z 32-bitowego pliku wykonywalnego. Dzięki. –

+0

Zostało to poprawione w Pythonie 3.5.1 ([Wydanie # 26071] (https://bugs.python.org/26071)). – Cito

+0

Nice! Działa to również z Pythonem 3.5 * 64-bit * na Windows 7 z Pywin32 2.2.0 (pywin32-220.win-amd64-py3.5.exe) –

3

miałem ten sam problem do najnowszej Python36-32 pracującego na systemie Windows 10 64 bitowym. Wszystkie rozwiązania powyżej niedziałające dla mnie po zainstalowaniu go dla wszystkich użytkowników tryb.

Odpowiedź Obu powyżej prawie zadziałała, zastępując od 3.5 do 3.6, a następnie pywin32 może wykryć ścieżkę rejestru, ale nadal nie udało się jej uzyskać kodu błędu can't create pywin32-wininst.log. Try to run as administrator. Po prostu przestaje się instalować, a następnie znika, nawet jeśli już działa jako administrator.

Po wielu próbach, to rozwiązane tak jak poniżej:

  1. Take Obu's approach above, zastępując wersji 3.5 do 3.6.

  2. Zarejestruj się.

  3. Zmień nazwę domyślny folder instalacji python36-32, coś takiego: C:\Program Files (x86)\Python36-32 do C:\Program Files (x86)\Python36
  4. Run pywin32 instalatora jako administrator.

* Przepraszam, nie mogę tu odpowiedzieć z powodu limitu reputacji, więc tworzę tę odpowiedź, aby pomóc innym, którzy mają takie same problemy jak moja.

+0

Działa na systemie Windows 10 przy użyciu Python 3.6 x86. Dzięki. –

2

Miałem ten sam problem na Windows 10 64 bit z Pythonem 3.6. Jest zainstalowany dla wszystkich użytkowników (prawdopodobnie używa innej gałęzi rejestru, na wypadek gdyby był zainstalowany tylko dla bieżącego użytkownika).

Problem polegał na tym, że pywin32-220.win32-py3.6.exe wyszukiwania w rejestrze dla HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python\PythonCore\3.6 jednoczesnym Pythona 3.6 konfiguracji stworzony HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python\PythonCore\3.6-32.

Uwaga różne zakończenia! Wyeksportowanie rejestru 3.6-32 do pliku .reg, zmodyfikowanie ścieżek do 3.6 i ponowne zaimportowanie rejestru plików ponownie rozwiązało problem.

+0

I miałem odwrotny problem. W konfiguracji Python 3.6 utworzono 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 3.6', natomiast PyWin potrzebował' HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 3.6-32'. Musiałem tymczasowo zmienić nazwę klucza, aby uruchomić instalację. –

0

Byłem w podobnej sytuacji, próbując zainstalować pywin32, ale z przenośną instalacją Winpython. Po dość googlowaniu znalazłem link do tego ogromnego repozytorium paczek w .whl przez Christoph Gohlke.

Pobierz odpowiedni plik koła dla wersji Pythona, w moim przypadku na 3.6.1 32bit i zainstalować go za pomocą pip:

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

pywin32 zbudować 219 ma problem w tym, że poszukuje python 3.5 32-bitowa lokalizacja instalacji w niewłaściwym kluczu rejestru. Ten problem został naprawiony w późniejszych kompilacjach pywin32 - 220 i 221 to te, które wypróbowałem - i poprawnie znajdują lokalizację instalacji pythona w rejestrze. Możesz zobaczyć bilet pywin32 here.

Jeśli potrzebujesz kompilacji 219, możesz tymczasowo zmienić nazwę wpisu rejestru.

Instaluję pythona dla wszystkich użytkowników na moim komputerze, więc wpisy rejestru na moim komputerze są w HKEY_LOCAL_MACHINE. Jeśli zainstalujesz pythona na użytkownika, wpisy rejestru będą miały numer HKEY_CURRENT_USER. Ponadto mój obiekt COM jest 32-bitowy, więc używamy 32-bitowego python.

32-bitowe wpisy rejestru Pythona będą znajdować się pod adresem: \SOFTWARE\Wow6432Node\Python\PythonCore.

64-bitowe wpisy rejestru Pythona będą znajdować się pod adresem: \SOFTWARE\Python\PythonCore.

W moim przypadku, miałem dwa wpisy, które musiały zostać tymczasowo zmieniona na:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5 

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5-32 

Python miejsce instalacji znajduje się w kluczu InstallPath, który na moim komputerze jest pod adresem:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5-32\InstallPath 

Mój folder \PythonCore\3.5 ma tylko klucz \Help\Pythonwin Reference, który jest duplikowany w folderze \PythonCore\3.5-32, więc myślę, że ten klucz jest pozostawiony z poprzedniej instalacji i nie jest już istotny. Ja jednak nie zdecydować, aby go usunąć, a ja chwilowo przemianowany zarówno w następujący sposób:

Od:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5 

Do:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5-temp 

Od:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5-32 

Aby :

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.5 

Po zakończeniu instalacji pywin32 build 219 przywróciłem klucze do oryginalnych nazw.