64 비트 Windows에 SetupTools 설치


133

Windows 7 64 비트에서 Python 2.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 용 설치 프로그램은 언급하지 않았습니다. 내가 놓친 것이 있거나 소스에서 설치해야합니까?


7
독자 참고 사항 : 아래로 스크롤하면 허용되는 답변이 최고가 아닙니다.

불행히도 내 질문을 게시 할 때 64 비트 SetupTools 설치 프로그램이 존재하지 않으므로 해결 방법을 수락하여 해킹임을 잘 알고 있습니다.
양자화

2
@ JohnRobertson 그렇다면 가장 좋은 답변은 무엇입니까?
rrs

답변:


91

분명히 (OS X에서 관련 64 및 32 비트 문제가 발생 함) Windows 설치 프로그램에 버그가 있습니다. 이 해결 방법을 우연히 발견했습니다. 기본적으로 사용자는 자신의 레지스트리 값을 만들고 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath에서 InstallPath 값을 복사합니다 HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath. 자세한 내용은 아래 답변을 참조하십시오.

이렇게하면 setuptools 가 32 비트 라이브러리 만 설치할 수 있습니다 .

참고 : 아래의 답변은 자세한 내용을 제공하므로이 내용도 읽어 보시기 바랍니다.


1
PIL (PIL-1.1.7.win32-py2.7) 설치와 함께 작동합니다.
panny

142

문제점 : 64 비트 Python과 32 비트 설치 프로그램이 있습니다. 확장 모듈에 문제가 발생합니다.

설치 프로그램이 Python을 찾지 못하는 이유는 Windows 7의 투명한 32 비트 에뮬레이션입니다. 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 비트 모듈 또는 확장을 사용해야하는 경우 32 비트 Python을 사용하십시오.
  • 다른 "깨끗한"방법 : 64 비트 Python을 사용할 때 64 비트 설치 프로그램 만 사용하십시오 (아래 참조).
  • 위의 대답이 제안하는 것 : copy HKLM\SOFTWARE\Pythonto HKLM\SOFTWARE\wow6432node\Python이지만 64 비트 Python은 32 비트 컴파일 된 모듈을로드 할 수 없으므로 바이너리 배포판에 문제 발생합니다 (이 작업을 수행하지 마십시오!)
  • distutils 설치 프로그램 (easy_install 또는 pip) 대신 setuptools를 사용하여 순수 Python 모듈 설치

예를 들어 setuptools 자체의 경우 바이너리 파일이 포함되어 있으므로 64 비트 Python 용 32 비트 설치 프로그램을 사용할 수 없습니다. 그러나 http://www.lfd.uci.edu/~gohlke/pythonlibs/에 64 비트 설치 프로그램이 있습니다 (다른 모듈의 설치 프로그램도 많이 있음) . 요즘 PyPi의 많은 패키지에는 바이너리 배포판이 있으므로 pip를 통해 설치할 수 있습니다.


7
비공식 설치 프로그램을위한 훌륭한 링크!
Andriy Drozdyuk

감사. amd64로 Python 2.7에 대한 내 문제를 해결했습니다.
nmat

2
다른 방법으로 (2.7 32 및 setuptools 64) stackoverflow.com/a/10966396/404385 <-설치된 python ver 및 32/64가 무엇인지 확인하십시오.
Cu7l4ss

1
그 링크는 순금입니다!
Paul Becotte

1
whl 파일을 설치하는 방법을 모르는 사람들은 pip를 사용하여 설치하십시오. pip install xyz.whl
아룬

69

레지스트리를 자동으로 변경하는 레지스트리 (.reg) 파일을 만들었습니다. "C : \ Python27"에 설치된 경우 작동합니다.

32 비트 버전 다운로드 HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\wow6432node\

64 비트 버전 다운로드 HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\


3
귀하의 REG 파일이 저에게 효과적이지만 반대의 문제가 발생하여 모든 키 이름에서 "\ Wow6432Node"를 제거해야했습니다.
pwhe23

32 비트 링크를 게시 할 수있을 것 같습니다. : P
Joe DF

멋진 패치 파일! 큰! 감사합니다 !!
베니 노게 바우어

@BennyNeugebauer 문제 없습니다.
Joe DF

@EvanCaldwell 문제 없습니다!
Joe DF

28

예, 맞습니다. 문제는 setuptools 용 64 비트 Python 및 32 비트 설치 프로그램에 있습니다.

Windows에 64 비트 setuptools를 설치하는 가장 좋은 방법은 ez_setup.py 를 C : \ Python27 \ Scripts 로 다운로드 하여 실행하는 것입니다. setuptools에 적합한 64 비트 .egg 파일을 다운로드하여 설치합니다.

출처 : http://pypi.python.org/pypi/setuptools

추신 : 타사 64 비트 .exe setuptools 설치 프로그램 또는 레지스트리 조작을 사용하지 않는 것이 좋습니다


2
이 솔루션이 얼마나 빠르고 쉬운 지 믿을 수 없습니다. 나는 다른 길에 시간을 보냈다.
Brett

1
내 생각에 가장 안전하고 안전한 솔루션!
djfranzwa

9

python2.7.reg(레지스트리 파일) 이라는 파일을 작성 하고이 컨텐츠를 파일에 넣으십시오.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help\MainPythonDocumentation]
@="C:\\Python27\\Doc\\python26.chm"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath]
@="C:\\Python27\\"

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Modules]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PythonPath]
@="C:\\Python27\\Lib;C:\\Python27\\DLLs;C:\\Python27\\Lib\\lib-tk"

모든 경로가 올바른지 확인하십시오!

그런 다음 그것을 실행 (병합)하고 완료하십시오 :)


감사! 파이썬 2.76 및 h5py 설정에서 작동하는지 확인할 수 있습니다. 아마 그냥 좋은 순서를 위해 python276.chm에 대한 문서 경로를 업데이트하십시오 :)
mork

9

이 요지 에서 파일을 register.py가져옵니다 . C 드라이브 또는 D 드라이브에 저장하고 CMD로 이동하여 다음을 실행하십시오.

'python register.py'

그런 다음 설치할 수 있습니다.


이것이 가장 간단한 해결책입니다. 감사! wxPython2.8-win32-unicode-2.8.12.1-py27을 설치하려고 할 때이 문제가 발생했으며, 등록되지 않은 파이썬에 대해 항상 불평합니다
Robert1968

3

Windows의 64 비트 Python의 경우 ez_setup.py를 다운로드 하여 실행하십시오. 적절한 .egg 파일을 다운로드하여 설치합니다.

.exe 설치 프로그램 작성시 distutils 설치 프로그램 호환성 문제 로 인해 Windows 용 Python의 64 비트 버전을 지원하지 않습니다 .


이것은 실제로 나를 위해 일했습니다! 조 DF하여 다른 스크립트는 나를 위해 작동하지 않았다
wordsforthewise

1

Windows 설치 프로그램이 Windows 7 에서 설치된 Python 디렉토리를 찾도록하려면 또는 설치 프로그램을 설치할 Python 설치를 변경하려면 설치된 경로를 InstallPath 레지스트리 키 (기본값)에 추가하십시오 .

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ 2.X \ InstallPath

여기서 " X "는 Python 버전 (즉, 2.5, 2.6 또는 2.7)입니다.


1

위의 시도를하고 레지스트리 키를 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 \ SOFTWARE \ Python \ PythonCore \ 2.7 \ 도움말]

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ Help \ 주요 파이썬 문서] @ = "C : \ Python27 \ Doc \ python272.chm"

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath] @ = "C : \ Python27 \"

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

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ 모듈]

[HKEY_CURRENT_USER \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath] @ = "C : \ Python27 \ Lib; C : \ Python27 \ DLLs; C : \ Python27 \ Lib \ lib-tk"

위의 내용을 메모장에 복사하여 Python27.reg로 저장하십시오. 위의 답변에서 언급 한대로 파일을 실행 / 병합하십시오. (설치에 따라 Python 설치 경로가 올바른지 확인하십시오.

위의 답변이 로컬 컴퓨터에 대해 제안한 내용을 현재 사용자에게 간단히 알려줍니다.


0

다음은 다른 게시물 / 스레드에 대한 링크입니다. 이 스크립트를 실행하여 Python 2.7 등록을 자동화 할 수있었습니다. (Python 2.x에서 실행해야합니다..exe 등록하려는 !)

Python 3.x를 등록하려면 print구문 을 수정하고 winreg(대신 _winreg) 가져 오기를 한 다음 Python 3을 실행해야했습니다 .exe.

https://stackoverflow.com/a/29633714/3568893


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.