Tôi nên sử dụng Python 32bit hay Python 64bit


143

Tôi có cài đặt win7 64 bit. Tôi phải sử dụng Python 64bit? Sự khác biệt giữa các phiên bản Python 32 bit và 64 bit là gì? Các gói Python khác nhau (như phía nam, django, mysqldb, v.v.) chỉ hỗ trợ 32bit / 64bit?


Câu trả lời:


91

Phiên bản 64 bit sẽ cho phép một quá trình duy nhất sử dụng nhiều RAM hơn 32 bit, tuy nhiên bạn có thể thấy rằng dung lượng bộ nhớ tăng gấp đôi tùy thuộc vào những gì bạn đang lưu trữ trong RAM (cụ thể là Số nguyên).

Ví dụ: nếu ứng dụng của bạn yêu cầu> 2GB RAM, vì vậy bạn chuyển từ 32 bit sang 64 bit, bạn có thể thấy rằng ứng dụng của bạn hiện đang yêu cầu> 4GB RAM.

Kiểm tra xem tất cả các mô-đun bên thứ 3 của bạn có khả dụng trong 64 bit hay không, nếu không, có thể dễ dàng sử dụng 32 bit hơn trong khi chờ đợi


13
Afaik, không có nhị phân 64 bit cho MysqlDB - đó là lý do tôi gắn bó với Python 32 bit.
Jochen Ritzel

12
Các mô-đun bên thứ 3 có thực sự cần hỗ trợ 64bit không?
Jonathan

8
Tôi đã sử dụng Python 2.7 64 bit trong vài tháng qua (năm năm sau bài đăng này) và mặc dù tôi sẽ nói rằng nó hoàn toàn xứng đáng - có quyền truy cập vào tất cả RAM đó là khá tốt nếu bạn không muốn lãng phí nhiều thời gian quản lý dữ liệu của bạn - vẫn còn một số thư viện hơi khó chịu khi có phiên bản 64 bit hoặc trong nhiều trường hợp gần như không thể sử dụng (DLL 32 bit là một ví dụ về tài nguyên mà tôi chưa quản lý để tận dụng mà không có đang tải phiên bản Python 32 bit)
Darren Ringer

12
Ngoài ra còn có điều ngược lại: tenorflow chỉ khả dụng cho python 64 bit trên windows, trừ khi bạn muốn xây dựng nó.
TrakJohnson

28

Theo kinh nghiệm của tôi, sử dụng phiên bản 32 bit không gặp rắc rối hơn. Trừ khi bạn đang làm việc trên các ứng dụng sử dụng nhiều bộ nhớ (chủ yếu là máy tính khoa học, sử dụng bộ nhớ hơn 2GB), bạn sẽ tốt hơn với các phiên bản 32 bit vì:

  1. Bạn thường sử dụng ít bộ nhớ hơn.
  2. Bạn có ít vấn đề hơn khi sử dụng COM (vì bạn đang ở trên Windows).
  3. Nếu bạn phải tải DLL, rất có thể chúng cũng là 32 bit. Python 64 bit không thể tải các thư viện 32 bit mà không có một số hack nặng chạy Python khác, lần này là 32 bit và sử dụng IPC.
  4. Nếu bạn phải tải DLL mà bạn tự biên dịch, bạn sẽ phải biên dịch chúng thành 64 bit, điều này thường khó thực hiện hơn (đặc biệt nếu sử dụng MinGW trên Windows).
  5. Nếu bạn đã từng sử dụng PyInstaller hoặc py2exe, những công cụ đó sẽ tạo ra các tệp thực thi với cùng độ bit của trình thông dịch Python của bạn.

6

Bạn không cần sử dụng 64 bit vì các cửa sổ sẽ mô phỏng các chương trình 32 bit bằng wow64. Nhưng sử dụng phiên bản gốc (64 bit) sẽ cho bạn hiệu suất cao hơn.


4

Chỉ sử dụng phiên bản 64 bit nếu bạn phải làm việc với lượng dữ liệu lớn, trong trường hợp đó, 64 bit hoạt động tốt hơn với sự bất tiện mà John La Rooy đã nói; nếu không, hãy gắn bó với 32 bit.


2

Tôi gặp sự cố khi chạy ứng dụng python (chạy các tệp dữ liệu lớn) trong 32 - nhận được thông báo MemoryError, trong khi trên 64 thì nó hoạt động tốt.


0

Các gói học máy như tenorflow 2.x được thiết kế để chỉ hoạt động trên Python 64 bit vì chúng rất tốn bộ nhớ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.