我该使用 Python 32位还是 64位

149 投票
7 回答
198322 浏览
提问于 2025-04-16 00:25

我有一个64位的Windows 7系统。我必须使用64位的Python吗?32位和64位的Python版本有什么区别呢?不同的Python库(比如south、django、mysqldb等等)是否只支持32位或64位?

7 个回答

6

你不一定要使用64位版本,因为Windows会通过wow64来模拟32位程序。不过,如果你使用原生的64位版本,性能会更好一些。

37

根据我的经验,使用32位版本通常更省事。除非你在做一些需要大量内存的应用(比如科学计算,通常会用到超过2GB的内存),否则选择32位版本会更好,原因有以下几点:

  1. 你一般会用更少的内存。
  2. 在使用COM时会遇到更少的问题(因为你是在Windows系统上)。
  3. 如果需要加载DLL文件,它们大多数也是32位的。64位的Python无法直接加载32位的库,除非你做一些复杂的操作,比如再运行一个32位的Python,并使用进程间通信(IPC)。
  4. 如果你需要加载自己编译的DLL文件,你必须把它们编译成64位,这通常会更难(特别是在Windows上使用MinGW时)。
  5. 如果你使用PyInstaller或py2exe,这些工具生成的可执行文件会和你的Python解释器是同样的位数。
97

64位版本的程序可以让一个进程使用比32位更多的内存,但你可能会发现,内存的占用量会翻倍,这主要取决于你在内存中存储的内容(特别是整数)。

举个例子,如果你的应用需要超过2GB的内存,所以你从32位切换到64位,结果你可能会发现你的应用现在需要超过4GB的内存。

检查一下你所有的第三方模块是否都有64位版本,否则在这段时间里,继续使用32位可能会更简单。

撰写回答