Używam Pythona 2.7 w 64-bitowym systemie Windows 7, a kiedy uruchamiam instalator setuptools, informuje mnie, że Python 2.7 nie jest zainstalowany. Konkretny komunikat o błędzie to:
`Python Version 2.7 required which was not found in the registry`
Moja zainstalowana wersja Pythona to:
`Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32`
Patrzę na stronę setuptools i nie wspomina o żadnych instalatorach dla 64-bitowego systemu Windows. Czy coś przeoczyłem, czy muszę to zainstalować ze źródła?
python
setuptools
easy-install
ilość
źródło
źródło
Odpowiedzi:
Najwyraźniej (po napotkaniu powiązanych problemów 64- i 32-bitowych na OS X) jest błąd w instalatorze Windows . Natknąłem się na to obejście , które może pomóc - w zasadzie tworzysz własną wartość rejestru
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath
i kopiujesz wartość InstallPath zHKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath
. Zobacz odpowiedź poniżej, aby uzyskać więcej informacji.Jeśli to zrobisz, uważaj, że setuptools może instalować tylko biblioteki 32-bitowe .
UWAGA: poniższe odpowiedzi zawierają więcej szczegółów, więc przeczytaj je również.
źródło
Problem: masz 64-bitowy Python i 32-bitowy instalator. Spowoduje to problemy dla modułów rozszerzeń.
Powodem, dla którego instalator nie znajduje Pythona, jest przezroczysta 32-bitowa emulacja systemu Windows 7. Programy 64-bitowe i 32-bitowe będą zapisywać w różnych częściach rejestru systemu Windows.
64-bitowy:
HKLM|HKCU\SOFTWARE\
32-bitowe:
HKLM|HKCU\SOFTWARE\wow6432node\
.Oznacza to, że 64-bitowy instalator Pythona zapisuje w programie
HKLM\SOFTWARE\Python
, ale 32-bitowy instalator setuptools sprawdzaHKLM\SOFTWARE\wow6432node\Python
(jest to obsługiwane przez system Windows automatycznie, programy tego nie zauważają). Jest to oczekiwane zachowanie, a nie błąd.Zwykle masz następujące możliwości:
HKLM\SOFTWARE\Python
doHKLM\SOFTWARE\wow6432node\Python
, ale to będzie powodować problemy z rozkładami binarnych, jako 64-bitowe Python nie można załadować 32-bitowe skompilowanych modułów (nie rób tego!)Na przykład w przypadku samego setuptools nie można użyć 32-bitowego instalatora dla 64-bitowego Pythona, ponieważ zawiera on pliki binarne. Ale jest 64-bitowy instalator pod adresem http://www.lfd.uci.edu/~gohlke/pythonlibs/ (ma też wiele instalatorów dla innych modułów) . Obecnie wiele pakietów na PyPi ma dystrybucje binarne, więc możesz je zainstalować przez pip.
źródło
pip install xyz.whl
Utworzyłem plik rejestru (.reg), który automatycznie zmieni rejestr za Ciebie. Działa, jeśli jest zainstalowany w „C: \ Python27”:
Pobierz wersję 32-bitową
HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\wow6432node\
Pobierz wersję 64-bitową
HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\
źródło
Tak, masz rację, problem dotyczy 64-bitowego Pythona i 32-bitowego instalatora dla setuptools.
Najlepszym sposobem na zainstalowanie 64-bitowych narzędzi setuptools w systemie Windows jest pobranie pliku ez_setup.py do C: \ Python27 \ Scripts i uruchomienie go. Pobierze odpowiedni 64-bitowy plik .egg dla setuptools i zainstaluje go dla Ciebie.
Źródło: http://pypi.python.org/pypi/setuptools
PS Odradzam używanie instalatorów setuptools 64-bitowych plików .exe innych firm lub manipulowanie rejestrem
źródło
Utwórz plik o nazwie
python2.7.reg
(plik rejestru) i umieść w nim tę zawartość:I upewnij się, że każda ścieżka jest właściwa!
Następnie uruchom (połącz) to i gotowe :)
źródło
Pobierz plik
register.py
z tego sedna . Zapisz go na dysku C lub D, przejdź do CMD, aby uruchomić go z:Wtedy będziesz mógł go zainstalować.
źródło
W przypadku 64-bitowego Pythona w systemie Windows pobierz plik ez_setup.py i uruchom go; pobierze odpowiedni plik .egg i zainstaluje go dla Ciebie.
W chwili pisania tego tekstu instalator .exe nie obsługuje 64-bitowych wersji Pythona dla systemu Windows ze względu na problem ze zgodnością instalatora distutils .
źródło
Aby umożliwić instalatorom systemu Windows znalezienie zainstalowanego katalogu języka Python w systemie Windows 7 LUB, zmień instalację języka Python, w którym ma zostać zainstalowany instalator, dodaj zainstalowaną ścieżkę do (domyślnej) wartości klucza rejestru InstallPath :
Gdzie „ X ” to wersja Pythona (czyli 2.5, 2.6 lub 2.7).
źródło
Wypróbowałem powyższe i dodanie kluczy rejestru do LOCALMACHINE nie pozwalało na wykonanie zadania. Więc jeśli nadal utkniesz, spróbuj tego.
Skopiuj, wklej powyższe do notatnika i zapisz jako Python27.reg. Teraz uruchom / połącz plik, jak wspomniano w odpowiedziach powyżej. (Upewnij się, że ścieżki instalacji Pythona są poprawione zgodnie z twoją instalacją.
Po prostu robi to, co sugerują powyższe odpowiedzi dla lokalnego komputera, dla bieżącego użytkownika.
źródło
Oto link do innego posta / wątku. Udało mi się uruchomić ten skrypt, aby zautomatyzować rejestrację Pythona 2.7. (Upewnij się, że uruchamiasz go z Pythona 2.x,
.exe
który chcesz zarejestrować!)Aby zarejestrować Python 3.x musiałem zmodyfikować
print
składnię i zaimportowaćwinreg
(zamiast_winreg
), a następnie uruchomić Python 3.exe
.https://stackoverflow.com/a/29633714/3568893
źródło
Możesz znaleźć 64-bitowe instalatory dla wielu bibliotek tutaj: http://www.lfd.uci.edu/~gohlke/pythonlibs/
źródło