说明:与安装的解释器(虚拟机)的位数有关,
32位虚拟机:
>>> import sys
>>> print(
sys.maxint) #
注意:这里是Python2.7; 如果是Python3.2 则用sys.maxsize
2147483647 # (32bit ) 2^31
64位虚拟机:
通过修改VS2010中的配置,X64 ,
编译的结果得到的解释器是64位的,AMD64,
但是上面指令依然是2147483647 # (32bit ) 2^31
PS:我的计算机是64为的(CORE i5)
但编译的过程中出现了类似如下一些警告信息,:
7> cPickle.c
7>..\Modules\cPickle.c(536): warning C4244: “=”:
从“Py_ssize_t”转换到“int”,可能丢失数据
7>..\Modules\cPickle.c(551): warning C4244: “=”:
从“Py_ssize_t”转换到“int”,可能丢失数据
7>..\Modules\cPickle.c(791): warning C4244: “=”:
从“Py_ssize_t”转换到“int”,可能丢失数据
7>..\Modules\cPickle.c(1207): warning C4244: “=”:
从“Py_ssize_t”转换到“int”,可能丢失数据
7>..\Modules\cPickle.c(1218): warning C4244: “=”:
从“Py_ssize_t”转换到“int”,可能丢失数据
7>..\Modules\cPickle.c(1488): warning C4244: “=”:
从“Py_ssize_t”转换到“int”,可能丢失数据
。。。。
因此,可以认为,是源代码设计时仅仅考虑的32位情形,与64位情况不兼容;或者可能某处有解释器位数的设置,需要修改设置。。。
这个问题以后看源码时候 留意一下