[python] Windows에서 PyCrypto를 어떻게 설치합니까?

나는 아무것도 작동하지 않고 다른 모든 Google 소스와 SO 스레드를 읽었습니다.

Python 2.7.3 32bit에 설치되었습니다 Windows 7 64bit. PyCrypto 다운로드, 추출 및 설치 시도"Unable to find vcvarsall.bat".

그래서 MinGW를 설치하고 선택한 컴파일러로 설치 라인에 고정시킵니다. 그러나 나는 오류를 얻는다"RuntimeError: chmod error".

이 문제를 어떻게 해결할 수 있습니까? 나는 같은 결과를주는 pip를 사용해 보았습니다. 사전 빌드 된 PyCrypto 2.3 바이너리를 찾아서 설치했지만 시스템에서 찾을 수 없습니다 (작동하지 않음).

어떤 아이디어?



답변

Python.org에서 배포 한 Visual Studio 바이너리와 호환되는 C / C ++ 개발 환경이 설치되어 있지 않은 경우 Windows 바이너리를 사용할 수있는 순수한 Python 패키지 또는 패키지 만 설치해야합니다.

다행히 Windows 용 PyCrypto 바이너리는 다음과 같습니다.
http://www.voidspace.org.uk/python/modules.shtml#pycrypto

업데이트 :
@Udi가 아래 주석에서 제안하는 것처럼 다음 명령도 설치 pycrypto되어 사용할 수 있습니다 virtualenv.

easy_install http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win32-py2.7.exe

이 목록 에서 설정과 관련된 링크를 선택 하십시오.

Python 3.5 용 빌드를 찾고 있다면 Python 3.5의 PyCrypto를 참조하십시오.


답변

Microsoft는 최근 Python 2.7 용 독립형 전용 Microsoft Visual C ++ 컴파일러를 출시했습니다 . Python 2.7을 사용하는 경우 해당 컴파일러 및 Setuptools 6.0 이상을 설치하면 C 확장자를 가진 대부분의 패키지가 즉시 컴파일됩니다.


답변

몇 년과 몇 년이 지난 후 , 파이썬은 마침내 wheel컴파일러를 사용하지 않고도 Windows에 바이너리 확장을 설치할 수있는 바이너리 배포에 동의했습니다 pip install packagename. 이 인기있는 패키지의 목록 그들의 상태는. Pycrypto는 아직 없지만 lxml, PySide 및 Scrapy가 있습니다.

2015 년 11 월 수정 : pip uninstall pycrypto& pip install pycryptodome. 그것은이다 pycrypto새로운 기능 포크와는 휠 지원합니다. 이 pycrypto코드는을 대체 하므로 기존 코드가 계속 작동합니다 ( https://pycryptodome.readthedocs.org/en/latest/src/examples.html 참조 )


답변

VS2010의 경우 :

SET VS90COMNTOOLS=%VS100COMNTOOLS%

VS2012의 경우 :

SET VS90COMNTOOLS=%VS110COMNTOOLS%

그런 다음 전화 :

pip install pyCrypto 


답변

일반적으로

vcvarsall.batVisual C ++ 컴파일러의 일부이므로 설치하려는 것을 설치해야합니다. 파이썬이 Visual Studio 툴체인으로 컴파일 된 경우에도 MingGW를 다루려고 시도하지 마십시오. 심지어 버전 은 Microsoft 툴 체인의 중요합니다. VS 2008로 컴파일 된 Python은 VS 2010으로 컴파일 된 확장에서 작동하지 않습니다!

PyCrypto는 Python 버전과 동일한 컴파일러로 컴파일해야합니다. Google은 “vcvarsall.bat를 찾을 수 없습니다” 는 문제의 근원이기 때문에 Windows에서 Python 확장을 컴파일하는 데 매우 일반적인 문제입니다.

이 링크를 사용하는 모든 시스템 에서이 정보를 얻으려면 많은 정보와 읽을 거리가 있습니다.

Visual Studio 2010을 사용하거나 Visual Studio 2008을 사용하지 않도록주의

내가 아는 한 다음은 여전히 ​​사실입니다. 이것은 2010 년 6 월에 python.org에서 제공되는 Python 설치 프로그램에 대해 VS 2010 Express를 사용하여 확장 기능을 구축하려는 것을 언급하는 위의 링크에 게시되었습니다.

이렇게하면 조심하십시오. python.org의 Python 2.6 및 2.7은 Visual Studio 2008 컴파일러로 빌드됩니다. Python과 동일한 CRT (msvcr90.dll)와 연결해야합니다.

Visual Studio 2010 Express가 잘못된 CRT 버전 : msvcr100.dll과 연결합니다.

이렇게하면 Visual Studio 2010 Express를 사용하여 Python도 다시 빌드해야합니다. Windows 용 표준 Python 바이너리 설치 프로그램을 사용할 수 없습니다. Visual Studio 2010 (Express)과 다른 컴파일러로 빌드 된 C / C ++ 확장도 사용할 수 없습니다.

의견 : 이것이 OSX의 모든 심각한 개발 작업으로 인해 Windows를 포기한 이유 중 하나입니다!


답변

PyCryptodomepypi에서 사용할 수있는 Windows 휠과 거의 호환되는 PyCrypto 포크입니다 .

간단한 방법으로 설치할 수 있습니다.

pip install pycryptodome

이 웹 사이트에는 Microsoft 컴파일러를 사용하여 소스에서 빌드하는 지침도 포함되어 있습니다.


답변

and pycrypto사용하여 컴파일 할 수있었습니다 . 이것은 설치 했거나 설치 한 것으로 가정합니다 .MinGW32MSYSpipeasy_install

내가 한 방법은 다음과 같습니다.

1) MinGW32를 설치하십시오 . 이 설명을 위해에 설치되어 있다고 가정 해 봅시다 C:\MinGW. 권장하는 설치 프로그램을 사용할 때 . MSYS가 설치해야하는 C ++ 컴파일러를 선택하십시오.MinGW

2)에 추가 c:\mingw\bin,c:\mingw\mingw32\bin,C:\MinGW\msys\1.0, c:\mingw\msys\1.0\bin and c:\mingw\msys\1.0\sbin하십시오 %PATH%. 익숙하지 않은 경우이 문서 가 매우 유용합니다.

3) 검색 바에서 실행 msys하면 MSYS 터미널이 열립니다. 에 익숙한 사람들에게는 Cygwin비슷한 방식으로 작동합니다.

4) pip install pycrypto이 후 MSYS 터미널 내에서 오류없이 실행해야합니다.