我该使用 Python 32位还是 64位
我有一个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位版本会更好,原因有以下几点:
- 你一般会用更少的内存。
- 在使用COM时会遇到更少的问题(因为你是在Windows系统上)。
- 如果需要加载DLL文件,它们大多数也是32位的。64位的Python无法直接加载32位的库,除非你做一些复杂的操作,比如再运行一个32位的Python,并使用进程间通信(IPC)。
- 如果你需要加载自己编译的DLL文件,你必须把它们编译成64位,这通常会更难(特别是在Windows上使用MinGW时)。
- 如果你使用PyInstaller或py2exe,这些工具生成的可执行文件会和你的Python解释器是同样的位数。
97
64位版本的程序可以让一个进程使用比32位更多的内存,但你可能会发现,内存的占用量会翻倍,这主要取决于你在内存中存储的内容(特别是整数)。
举个例子,如果你的应用需要超过2GB的内存,所以你从32位切换到64位,结果你可能会发现你的应用现在需要超过4GB的内存。
检查一下你所有的第三方模块是否都有64位版本,否则在这段时间里,继续使用32位可能会更简单。