Python 32 비트 또는 Python 64 비트를 사용해야합니까


143

win7 64 비트 설치가 있습니다. 파이썬 64 비트를 사용해야합니까? 32 비트와 64 비트 파이썬 버전의 차이점은 무엇입니까? 다른 Python 패키지 (예 : south, django, mysqldb 등)가 32 비트 / 64 비트 만 지원합니까?


답변:


91

64 비트 버전에서는 단일 프로세스에서 32 비트보다 많은 RAM을 사용할 수 있지만 RAM에 저장하는 내용 (특히 정수)에 따라 메모리 풋 프린트가 두 배로 증가 할 수 있습니다.

예를 들어 앱에 2GB 이상의 RAM이 필요한 경우 32 비트에서 64 비트로 전환하면 앱에 4GB 이상의 RAM이 필요하다는 것을 알 수 있습니다.

모든 타사 모듈이 64 비트로 제공되는지 확인하십시오. 그렇지 않으면 그 동안 32 비트를 고수하는 것이 더 쉬울 수 있습니다


13
Afaik, MysqlDB에는 64 비트 바이너리가 없습니다. 이것이 32 비트 Python을 고수하는 이유입니다.
Jochen Ritzel

12
타사 모듈이 실제로 64 비트를 명시 적으로 지원해야합니까?
Jonathan

8
나는 지난 몇 개월 동안 (이 포스트 후 5 년 동안) 64 비트 Python 2.7을 사용해 왔으며 확실히 가치가 있다고 말하지만 많은 시간을 낭비하고 싶지 않으면 모든 RAM에 액세스하는 것이 좋습니다. 데이터 관리-64 비트 버전을 얻는 것이 약간 성가 시거나 사용하기가 거의 불가능한 여러 라이브러리가 여전히 있습니다 (32 비트 DLL은 내가 아직 활용하지 못한 리소스 중 하나입니다) 32 비트 버전의 파이썬로드)
Darren Ringer

12
반대의 경우도 있습니다 : tensorflow는 빌드하려는 경우를 제외하고 Windows의 64 비트 파이썬에서만 사용할 수 있습니다.
TrakJohnson

28

내 경험상 32 비트 버전을 사용하면 문제가 없습니다. 메모리를 많이 사용하는 응용 프로그램 (주로 과학적인 컴퓨팅, 2GB 이상의 메모리를 사용하는 응용 프로그램)에서 작업하지 않는 한 다음과 같은 이유로 32 비트 버전을 사용하는 것이 좋습니다.

  1. 일반적으로 적은 메모리를 사용합니다.
  2. Windows를 사용하고 있기 때문에 COM 사용시 문제가 줄어 듭니다.
  3. DLL을로드해야한다면 대부분 32 비트 일 것입니다. Python 64 비트는 이번에는 32 비트로 다른 Python을 실행하고 IPC를 사용하는 일부 해킹없이 32 비트 라이브러리를로드 할 수 없습니다.
  4. 직접 컴파일 한 DLL을로드해야하는 경우 64 비트로 컴파일해야합니다. 64 비트로 컴파일하기가 어렵습니다 (특히 Windows에서 MinGW를 사용하는 경우).
  5. PyInstaller 또는 py2exe를 사용하는 경우 해당 도구는 동일한 비트 크기의 Python 인터프리터로 실행 파일을 생성합니다.

6

Windows는 wow64를 사용하여 32 비트 프로그램을 에뮬레이트하므로 64 비트를 사용할 필요가 없습니다. 그러나 기본 버전 (64 비트)을 사용하면 성능이 향상됩니다.


4

대량의 데이터로 작업해야하는 경우에만 64 비트 버전을 사용하십시오.이 시나리오에서 64 비트는 John La Rooy가 말한 불편 함을 더 잘 처리합니다. 그렇지 않은 경우 32 비트를 사용하십시오.


2

32에서 Python 앱 (큰 데이터 프레임을 실행)을 실행하는 데 문제가있었습니다-64에서 MemoryError 메시지가 표시되었지만 64에서는 정상적으로 작동했습니다.


0

tensorflow 2.x와 같은 기계 학습 패키지는 메모리를 많이 사용하므로 64 비트 Python에서만 작동하도록 설계되었습니다.

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