所以,每当我在Python中做任何事情时,我都会不断获得这个refs count输出。例如:
xxxxx@li282-82:~$ python
Python 2.7.3 (default, Feb 28 2013, 20:42:30)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
[40347 refs]
>>> django.VERSION
(1, 5, 2, 'final', 0)
[40349 refs]
>>>
[40349 refs]
[19961 refs]
xxxxx@li282-82:~$ logout
如何关闭它?!
答案 0 :(得分:3)
在我看来,你的解释器是用debug flag编译的。要摆脱它,我认为你需要重新编译。
答案 1 :(得分:2)
来自Misc/SpecialBuilds.txt
:
Py_REF_DEBUG
启用聚合引用计数。这将安排extern _Py_RefTotal 保存所有引用的计数,即所有对象中ob_refcnt的总和。在一个 调试模式构建,这是“8288”来自
的地方
>>> 23
23
[8288 refs]
>>>
请注意,如果您不存储新对象时此计数会增加, 可能有泄漏。但请记住,在交互模式下,这是特殊的 名称“_”包含对显示的最后结果的引用!
Py_REF_DEBUG还会在每次递减后检查以验证refcount没有 消极的,如果有的话会立即造成致命的错误。
特别噱头:
sys.gettotalrefcount()
Return current total of all refcounts.
某些其他调试选项也 Py_REF_DEBUG
暗示。但是每个人都是对的:以某种方式或其他你有Python的调试版本。
答案 2 :(得分:0)
根据@mgilson的建议,您可能安装了源代码编译的Python(由/usr/local/bin/python
提示)。如果您想从源代码重建Python,请下载您所使用版本的最新源代码,并按照粗略说明进行操作:
tar jxvf Python-x.y.z.tar.bz2
cd Python-x.y.z
./configure --prefix=/usr/local \
--mandir=/usr/local/man \
--enable-shared \
--with-threads \
--enable-ipv6 \
--with-dbmliborder=gdbm
make
make install
请参阅:http://docs.python.org/2/using/unix.html#building-python