Haruskah saya menggunakan Python 32bit atau Python 64bit

143

Saya memiliki instalasi win7 64bit. Haruskah saya menggunakan Python 64bit? Apa perbedaan antara versi Python 32bit dan 64bit? Apakah paket Python yang berbeda (seperti selatan, Django, mysqldb dll) hanya mendukung 32bit / 64bit?

Jonathan
sumber

Jawaban:

91

Versi 64 bit akan memungkinkan satu proses untuk menggunakan lebih banyak RAM dari 32 bit, namun Anda mungkin menemukan bahwa jejak memori berlipat ganda tergantung pada apa yang Anda simpan dalam RAM (bilangan bulat khususnya).

Misalnya jika aplikasi Anda membutuhkan> 2GB RAM, jadi Anda beralih dari 32bit ke 64bit Anda mungkin menemukan bahwa aplikasi Anda sekarang membutuhkan> 4GB RAM.

Periksa apakah semua modul pihak ke-3 Anda tersedia dalam 64 bit, jika tidak, mungkin lebih mudah untuk tetap menggunakan 32bit

John La Rooy
sumber
13
Afaik, tidak ada binari 64bit untuk MysqlDB - itulah alasan saya tetap menggunakan 32bit Python.
Jochen Ritzel
12
Apakah modul pihak ke-3 benar-benar perlu mendukung 64bit secara eksplisit?
Jonathan
8
Saya telah menggunakan 64bit Python 2.7 selama beberapa bulan terakhir (lima tahun setelah posting ini) dan meskipun saya akan mengatakan itu sangat berharga - memiliki akses ke semua RAM yang cukup bagus jika Anda tidak ingin membuang banyak waktu mengelola data Anda - masih ada beberapa perpustakaan yang sedikit mengganggu untuk mendapatkan versi 64-bit, atau dalam banyak kasus hampir tidak mungkin untuk digunakan (DLL 32-bit adalah salah satu contoh sumber daya yang belum dapat saya manfaatkan tanpa memuat versi 32-bit Python)
Darren Ringer
12
Ada juga yang sebaliknya: tensorflow hanya tersedia untuk python 64bit di windows, kecuali jika Anda ingin membangunnya.
TrakJohnson
28

Dalam pengalaman saya, menggunakan versi 32-bit lebih bebas masalah. Kecuali jika Anda bekerja pada aplikasi yang menggunakan banyak memori (kebanyakan komputasi ilmiah, yang menggunakan lebih dari 2GB memori), Anda lebih baik dengan versi 32-bit karena:

  1. Anda biasanya menggunakan lebih sedikit memori.
  2. Anda memiliki lebih sedikit masalah dalam menggunakan COM (karena Anda menggunakan Windows).
  3. Jika Anda harus memuat DLL, kemungkinan besar itu juga 32-bit. Python 64-bit tidak dapat memuat pustaka 32-bit tanpa beberapa peretasan berat yang menjalankan Python lain, kali ini dalam 32-bit, dan menggunakan IPC.
  4. Jika Anda harus memuat DLL yang dikompilasi sendiri, Anda harus mengompilasinya menjadi 64-bit, yang biasanya lebih sulit dilakukan (khususnya jika menggunakan MinGW pada Windows).
  5. Jika Anda pernah menggunakan PyInstaller atau py2exe, alat-alat itu akan menghasilkan executable dengan bitness yang sama dari interpreter Python Anda.
Ronan Paixão
sumber
6

Anda tidak perlu menggunakan 64bit karena windows akan meniru program 32bit menggunakan wow64. Tetapi menggunakan versi asli (64bit) akan memberi Anda lebih banyak kinerja.

codymanix
sumber
4

Gunakan versi 64 bit hanya jika Anda harus bekerja dengan sejumlah besar data, dalam skenario itu, 64 bit berkinerja lebih baik dengan ketidaknyamanan yang dikatakan John La Rooy; jika tidak, tetap dengan 32 bit.

Ariel Jiménez
sumber
2

Saya mengalami kesulitan menjalankan aplikasi python (menjalankan dataframe besar) dalam 32 - mendapat pesan MemoryError, sementara pada 64 itu berfungsi dengan baik.

Juga
sumber
0

Paket pembelajaran mesin seperti tensorflow 2.x dirancang untuk bekerja hanya pada 64 bit Python karena mereka adalah memori yang intensif.

H_J
sumber