问题:我应该使用Python 32位还是Python 64位
我有一个win7 64位安装。我必须使用Python 64位吗?无论如何,32位和64位Python版本之间有什么区别?不同的Python软件包(例如south,django,mysqldb等)仅支持32位/ 64位吗?
回答 0
64位版本将允许单个进程使用比32位更多的RAM,但是您可能会发现,内存占用量会增加一倍,具体取决于您存储在RAM中的内容(尤其是整数)。
例如,如果您的应用程序需要大于2GB的RAM,那么从32位切换到64位,您可能会发现您的应用程序现在需要大于4GB的RAM。
检查您的所有第三方模块是否都可用64位,否则同时坚持使用32位可能会更容易
回答 1
以我的经验,使用32位版本会更轻松。除非您正在处理大量使用内存的应用程序(大多数情况下是科学计算,使用的内存超过2GB),否则最好使用32位版本,因为:
- 通常,您使用较少的内存。
- 使用COM的问题更少(因为您在Windows上)。
- 如果必须加载DLL,则它们很可能也是32位的。如果没有一些笨拙的代码运行另一个Python(这次是32位并使用IPC),则Python 64位无法加载32位库。
- 如果必须加载自己编译的DLL,则必须将它们编译为64位,这通常较难做到(特别是在Windows上使用MinGW时)。
- 如果您曾经使用PyInstaller或py2exe,这些工具将生成与Python解释器相同位的可执行文件。
回答 2
您不需要使用64位,因为Windows将使用wow64模拟32位程序。但是使用本机版本(64位)将为您带来更高的性能。
回答 3
仅在必须处理大量数据的情况下才使用64位版本,在这种情况下,John La Rooy所说的不便之处在于64位的性能更好。如果不是,请坚持使用32位。
回答 4
我在32中运行python应用程序(运行大型数据帧)时遇到了麻烦-收到MemoryError消息,而在64上运行良好。
回答 5
像tensorflow 2.x这样的机器学习软件包被设计为仅在64位Python上运行,因为它们占用大量内存。