Установка SetupTools на 64-разрядной Windows
Я запускаю 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-разрядных окон. Я что-то пропустил или мне нужно установить ее источник?
11 ответов:
видимо (столкнувшись с соответствующими 64-и 32-битными проблемами на OS X) есть ошибка в установщике Windows. Я наткнулся этот способ, что может помочь-в основном, вы создаете свой собственный параметр реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore.6\InstallPath
и скопируйте значение пути установки изHKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore.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
(это обрабатывается windows автоматически, программы не замечают). Это ожидаемое поведение, а не баг.как правило, у вас есть следующие варианты:
- "чистый" способ: используйте 32-разрядный Python, если вам нужно использовать 32-разрядные модули или расширения
- другой "чистый" способ: используйте только 64-разрядные установщики при использовании 64-разрядного Python (см. ниже)
- что ответ выше предлагает: копировать
HKLM\SOFTWARE\Python
доHKLM\SOFTWARE\wow6432node\Python
, но это будет вызывают проблемы с бинарными дистрибутивами, так как 64-битный Python не может загружать 32-битные скомпилированные модули (не делайте этого!)- установите чистые модули Python с setuptools вместо установщика distutils (easy_install или pip)
для самого setuptools, например, вы не можете использовать 32-разрядный установщик для 64-разрядного Python, поскольку он включает двоичные файлы. но есть 64-битный установщик http://www.lfd.uci.edu/~gohlke/pythonlibs/ (имеет много установщиков для других модулей тоже). В настоящее время многие пакеты на PyPi имеют двоичные дистрибутивы, поэтому вы можете установить их через pip.
Я сделал реестре (.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-разрядные setuptools, установленные на Windows, чтобы загрузить ez_setup.py C:\Python27\Scripts и запустить его. Он будет загружать соответствующие 64-разрядные версии .файл яйцо для setuptools и установить его для вас.
Источник:http://pypi.python.org/pypi/setuptools
P. S. Я бы рекомендовала использовать 3-й партии 64-бит .исполняемый установщики setuptools или манипулирование реестром
создайте файл с именем
python2.7.reg
(файл реестра) и поместите в него это содержимое:Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore.7] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore.7\Help] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore.7\Help\MainPythonDocumentation] @="C:\Python27\Doc\python26.chm" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore.7\InstallPath] @="C:\Python27\" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore.7\InstallPath\InstallGroup] @="Python 2.7" [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore.7\Modules] [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore.7\PythonPath] @="C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk"
и убедитесь, что каждый путь является правильным!
затем запустите (объединить) его и готово:)
скачать файл
register.py
С в этом суть. Сохраните его на диске C или D, перейдите в CMD, чтобы запустить его с помощью:'python register.py'
тогда вы сможете установить его.
для 64-битного Python на Windows Скачать ez_setup.py и запустите его; он загрузит соответствующий .яйцо файл и установить его для вас.
на момент написания .установщик exe не поддерживает 64-разрядные версии Python для Windows, из-за проблема совместимости установщика distutils.
чтобы установщики Windows могли найти установленный каталог Python в Windows 7, или измените установку Python для установки установщика, добавьте установленный путь в InstallPath ключ реестра!--3-->(по умолчанию) значение:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.Х\Каталог-Установки
где "X " - Это версия Python (то есть 2.5, 2.6 или 2.7).
Я попробовал выше, и добавление ключей реестра в LOCALMACHINE не выполняло эту работу. Поэтому в случае, если вы все еще застряли , попробуйте это.
Редактор Реестра Windows Версии 5.00
[HKEY_CURRENT_USER\SOFTWARE\Python]
[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore]
[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7]
[раздел реестра HKEY_CURRENT_USER\программное обеспечение\питона\PythonCore\2.7 помочь\]
[раздел реестра HKEY_CURRENT_USER\программное обеспечение\питона\PythonCore\2.7\помочь\основной документации Python] @="C:\Python27\Doc\python272.ЧМ"
[раздел реестра HKEY_CURRENT_USER\программное обеспечение\питона\PythonCore\2.7\каталог-установки] @="C:\Python27"
[раздел реестра HKEY_CURRENT_USER\программное обеспечение\питона\PythonCore\2.7\каталог-установки\InstallGroup] @="Python 2.7"
[раздел реестра HKEY_CURRENT_USER\программное обеспечение\питона\PythonCore\модули 2.7\]
[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\PythonPath] @="C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk"
скопируйте и вставьте выше в блокнот и сохраните его как Python27.рег. Теперь запустите / объедините файл, как указано в ответах выше. (Убедитесь, что пути установки Python исправлены в соответствии с вашей установкой.
Он просто делает то ,что выше ответы предлагают для локальной машины, для текущего пользователя.
вот ссылка на другой пост/нить. Я смог запустить этот скрипт для автоматизации регистрации на Python 2.7. (Обязательно запустите его из Python 2.x
.exe
вы хотите зарегистрироваться!)для регистрации Python 3.x мне пришлось изменить
winreg
(вместо_winreg
), затем запустите Python 3.exe
.
вы можете найти 64-битные установщики для многих библиотек здесь:http://www.lfd.uci.edu / ~gohlke / pythonlibs/