Я использую Python 2.7 в 64-битной Windows 7, и когда я запускаю установщик для setuptools, он говорит мне, что Python 2.7 не установлен. Конкретное сообщение об ошибке:
`Python Version 2.7 required which was not found in the registry`
Моя установленная версия Python:
`Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32`
Я смотрю на сайт setuptools, и он не упоминает никаких установщиков для 64-битной Windows. Я что-то пропустил или мне нужно установить это из источника?
python
setuptools
easy-install
quanticle
источник
источник
Ответы:
Очевидно (столкнувшись со связанными 64- и 32-битными проблемами в OS X), есть ошибка в установщике Windows . Я наткнулся на этот обходной путь , который может помочь - в основном, вы создаете свой собственный параметр реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath
и копируете значение из InstallPath изHKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath
. Смотрите ответ ниже для более подробной информации.Если вы сделаете это, будьте осторожны, что setuptools может устанавливать только 32-битные библиотеки .
ПРИМЕЧАНИЕ: ответы ниже предлагают более подробную информацию, поэтому, пожалуйста, прочитайте их тоже.
источник
Проблема: у вас есть 64-битный Python и 32-битный установщик. Это вызовет проблемы для модулей расширения.
Причина, по которой установщик не находит Python, заключается в прозрачной 32-разрядной эмуляции из Windows 7. 64-разрядные и 32-разрядные программы будут записывать данные в разные части реестра Windows.
64-бит:
HKLM|HKCU\SOFTWARE\
32-бит:
HKLM|HKCU\SOFTWARE\wow6432node\
.Это означает, что 64-битный установщик Python пишет
HKLM\SOFTWARE\Python
, а 32-битный установщик setuptools просматриваетHKLM\SOFTWARE\wow6432node\Python
(это обрабатывается окнами автоматически, программы не замечают). Это ожидаемое поведение, а не ошибка.Обычно у вас есть следующие варианты:
HKLM\SOFTWARE\Python
наHKLM\SOFTWARE\wow6432node\Python
, но это будет вызывать проблемы с бинарными распределений, так как 64-разрядные Python не может загружать 32-разрядные скомпилированные модули (не делайте этого!)Например, для самого setuptools вы не можете использовать 32-битный установщик для 64-битного Python, поскольку он содержит двоичные файлы. Но на http://www.lfd.uci.edu/~gohlke/pythonlibs/ есть 64-битный установщик (также есть много установщиков для других модулей) . В настоящее время многие пакеты в PyPi имеют бинарные дистрибутивы, поэтому вы можете установить их через pip.
источник
pip install xyz.whl
Я сделал файл реестра (.reg), который автоматически изменит реестр для вас. Он работает, если он установлен в "C: \ Python27":
Скачать 32-битную версию
HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\wow6432node\
Скачать 64-битную версию
HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\
источник
Да, вы правы, проблема в 64-битном Python и 32-битном инсталляторе для setuptools.
Лучший способ установить 64-битные установочные инструменты в Windows - это загрузить ez_setup.py в C: \ Python27 \ Scripts и запустить его. Он загрузит соответствующий 64-битный файл .egg для setuptools и установит его для вас.
Источник: http://pypi.python.org/pypi/setuptools
PS Я бы рекомендовал не использовать сторонние 64-битные установщики .exe установщиков или манипулировать реестром
источник
Создайте файл с именем
python2.7.reg
(файл реестра) и поместите в него этот контент:И убедитесь, что каждый путь правильный!
Затем запустите (объедините) и сделайте :)
источник
Получить файл
register.py
из этой сути . Сохраните его на диске C или D, перейдите в CMD, чтобы запустить его с:Тогда вы сможете установить его.
источник
Для 64-битного Python в Windows загрузите ez_setup.py и запустите его; он загрузит соответствующий файл .egg и установит его для вас.
На момент написания статьи установщик .exe не поддерживал 64-разрядные версии Python для Windows из-за проблемы совместимости установщика distutils .
источник
Чтобы установщики Windows могли найти установленный каталог Python в Windows 7 , ИЛИ измените, в какую установку Python следует установить установщик, добавьте установленный путь в значение раздела реестра InstallPath (по умолчанию) :
Где « X » - версия Python (то есть 2.5, 2.6 или 2.7).
источник
Я попробовал вышеупомянутое, и добавление ключей реестра в LOCALMACHINE не выполняло работу. Так что, если вы все еще застряли, попробуйте это.
Скопируйте и вставьте выше в блокноте и сохраните его как Python27.reg. Теперь запустите / объедините файл, как указано в ответах выше. (Убедитесь, что пути установки Python исправлены в соответствии с вашей установкой.
Это просто делает то, что вышеупомянутые ответы предлагают для локальной машины, текущему пользователю.
источник
Вот ссылка на другой пост / тему. Я смог запустить этот скрипт для автоматизации регистрации Python 2.7. (Обязательно запустите его с Python 2.x, который
.exe
вы хотите зарегистрировать!)Чтобы зарегистрировать Python 3.x, мне пришлось изменить
print
синтаксис и импортироватьwinreg
(вместо_winreg
), а затем запустить Python 3.exe
.https://stackoverflow.com/a/29633714/3568893
источник
Вы можете найти 64-битные установщики для многих библиотек здесь: http://www.lfd.uci.edu/~gohlke/pythonlibs/
источник